Bir Linux sunucusunda MySQL root parolasını sıfırlamak, MySQL sunucusuna erişim kaybolduğunda veya yeni bir sunucu kurulduğunda kritik bir görev olabilir. Bu süreç, MySQL hizmetini durdurmak, MySQL’i güvenli modda başlatmak ve root şifresini güncellemek de dahil olmak üzere birkaç adımı içerir. Bu kılavuz, MySQL root şifrenizi başarılı bir şekilde sıfırlayabilmenizi sağlamak için her adımda size ayrıntılı olarak yol gösterecektir.
Linux Sunucunuzda MySQL Root Parolasını Sıfırlama
MySQL root hesabınıza erişiminizi kaybettiğinizde root şifresini sıfırlamak çok önemlidir. Bu kılavuz, bir Linux sunucusundaki MySQL root parolanızı sıfırlamak için adım adım bir yaklaşım sağlar.
- MySQL Hizmetini Durdurun: İlk adım, yeni bağlantıları önlemek için MySQL hizmetini durdurmaktır.
$ sudo systemctl stop mysql
MySQL hizmetini durdurmak, root şifresini sıfırlarken başka hiçbir kullanıcının veritabanına bağlanamamasını sağlar.
- MySQL Dizini için İzinleri Oluşturun ve Ayarlayın: Daha sonra gerekli dizini oluşturmanız ve doğru izinleri ayarlamanız gerekir.
$ sudo mkdir -p /var/run/mysqld $ sudo chown mysql:mysql /var/run/mysqld $ sudo chmod -R 755 /var/run/mysqld $ sudo rm -f /var/run/mysqld/mysqld.sock.lock $ sudo rm -f /var/run/mysqld/mysqlx.sock.lock
Bu komutlar dizini oluşturur, sahipliği ve izinleri ayarlar ve çakışmaları önlemek için mevcut tüm soket kilidi dosyalarını kaldırır.
- MySQL’i Güvenli Modda başlatın: Şimdi, hibe tabloları devre dışı bırakılarak MySQL’i güvenli modda başlatın.
$ sudo mysqld_safe --skip-grant-tables &
MySQL’i güvenli modda başlatmak, veritabanına şifre olmadan erişmenizi sağlar; bu, root şifresini sıfırlamak için gereklidir.
- MySQL’de oturum açın: MySQL’e şifresiz root kullanıcı olarak giriş yapın.
mysql -u root
Bu komut, root parolasını sıfırlamak için SQL komutlarını çalıştırabileceğiniz MySQL kabuğunda oturum açmanızı sağlar.
- MySQL Veritabanını seçin: Kullanıcı bilgilerinin saklandığı MySQL veritabanını kullanın.
mysql> USE mysql;
MySQL veritabanını seçmek, root şifresini sıfırlamak da dahil olmak üzere kullanıcı bilgilerini değiştirmenize olanak tanır.
- Flush Ayrıcalıkları: Değişikliklerin etkili olmasını sağlamak için MySQL ayrıcalıklarını yenileyin.
mysql> FLUSH PRIVILEGES;
Ayrıcalıkların temizlenmesi, izin tablolarını yeniden yükleyerek yapılan değişikliklerin sunucu tarafından tanınmasını sağlar.
- Root Parolasını Sıfırla: Root kullanıcı parolasını güncelleyin.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
Bu komut root şifresini ‘new_password’ olarak değiştirir. ‘Yeni_şifre’yi istediğiniz şifreyle değiştirin.
- MySQL’den çıkın ve Hizmeti Yeniden Başlatın: MySQL kabuğundan çıkın.
mysql> exit
MySQL şifresini sıfırlama. - Güvenli Mod Sürecini Sonlandırın: MySQL güvenli mod işlemini sonlandırın.
$ sudo killall mysqld
Güvenli mod sürecini sonlandırmak, MySQL’in hibe tablolarını atlamadan normal şekilde çalışmasını sağlar.
- MySQL Hizmetini Yeniden Başlatın: Son olarak MySQL hizmetini normal şekilde başlatın.
$ sudo systemctl start mysql
MySQL hizmetini normal modda tekrar başlatmak, sunucuyu yeni root şifresiyle kullanmanızı sağlar.
- Yeni Şifreyi Doğrulayın: MySQL’de oturum açarak yeni root şifresinin çalıştığını doğrulayın.
$ mysql -p
İstendiğinde, parola sıfırlamanın başarılı olduğunu onaylamak için yeni parolayı girin.
MySQL sunucusuna root olarak giriş yapmak için yeni şifreyi kullanma
Sorun Giderme
Sıfırlama işlemi sırasında sorunlarla karşılaşırsanız aşağıdaki günlük iletilerine ve çözümlere bakın.
İlgili Günlük Mesajları:
2024-06-26T09:13:42.950465Z 0 [ERROR] [MY-011292] [Server] Plugin mysqlx reported: 'Preparation of I/O interfaces failed, X Protocol won't be accessible' 2024-06-26T09:13:42.950494Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: 'Setup of socket: '/var/run/mysqld/mysqlx.sock' failed, can't create lock file /var/run/mysqld/mysqlx.sock.lock' 2024-06-26T09:13:43.032408Z 0 [ERROR] [MY-010273] [Server] Could not create unix socket lock file /var/run/mysqld/mysqld.sock.lock. 2024-06-26T09:13:43.032420Z 0 [ERROR] [MY-010268] [Server] Unable to setup unix socket lock file. 2024-06-26T09:13:43.032425Z 0 [ERROR] [MY-010119] [Server] Aborting
Yaygın Sorunlar ve Çözümler:
1. mysqlx Eklenti Hataları:
– Hatalar:
– `Preparation of I/O interfaces failed, X Protocol won’t be accessible`
– `Setup of socket: ‘/var/run/mysqld/mysqlx.sock’ failed, can’t create lock file /var/run/mysqld/mysqlx.sock.lock`
– Çözüm: MySQL kurulumunun tamamlandığından emin olun. Aşağıdaki komutlarla soket sorunlarını giderin:
$ sudo mkdir -p /var/run/mysqld $ sudo chown mysql:mysql /var/run/mysqld $ sudo chmod -R 755 /var/run/mysqld $ sudo rm -f /var/run/mysqld/mysqld.sock.lock $ sudo rm -f /var/run/mysqld/mysqlx.sock.lock
2. Unix Soket Kilitleme Dosyası Hataları:
Hatalar:
– `Could not create unix socket lock file /var/run/mysqld/mysqld.sock.lock.`
– `Unable to setup unix socket lock file.`
Çözüm: Hiçbir izin sorunu veya mevcut kilit dosyası olmadığından emin olun. Düzeltmek için yukarıdaki komutları kullanın.
3. Sunucu İptal Ediliyor:
Hata: `Aborting`
Çözüm: İzinleri ayarlamak ve mevcut kilit dosyalarını kaldırmak için yukarıda gösterildiği gibi adımları izleyin.
4. Mevcut MySQL Süreci:
Hata:
$ sudo mysqld_safe --skip-grant-tables & [2] 6050 2024-06-26T10:02:00.665573Z mysqld_safe Logging to '/var/log/mysql/error.log'. 2024-06-26T10:02:00.683616Z mysqld_safe A mysqld process already exists [1]+ Exit 1 sudo mysqld_safe --skip-grant-tables
Çözüm: Güvenli modda başlatmayı denemeden önce MySQL sunucusunun durdurulduğundan emin olun. Komut:
sudo systemctl stop mysql
5. Yeni Şifre Ayarlanırken Hata:
Hata:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
Çözüm: yeni bir şifre ayarlamadan önce:
FLUSH PRIVILEGES;
çalıştırıldığından emin olun
Sorunlar devam ederse daha ayrıntılı bilgi için `/var/log/mysql/error.log` adresindeki MySQL hata günlüğünü kontrol edin.
Yazının orijinalini buradan okuyabilirsiniz.
![](/wp-content/uploads/2022/03/Huseyin-guc.jpeg)
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.