Şifre sıfırlama işlemi
Şifre sıfırlama işlemi sırasında sunucu üzerindeki kontrolünüz kaybolacaktır. Bütün bağlantılar root yetkisi ile gerçekleşecektir. Bu yüzden bu işlemlerin yapıldığı süre içerisinde sunucuya ulaşım yollarının kapatılması iyi bir fikir olacaktır.
Şifre sıfırlamak için şu işlemler gerçekleştirilmelidir.
Mysql sunucusu durdurulmalıdır.
sudo /etc/init.d/mysql stop
Mysql sunucusunun alt işlevleri tekrar çalıştırılmalıdır. Bu çalıştırma işleminde --skip-grant-tables option ve --skip-networking ¶metreleri kullanılmalıdır. --skip-networking & parametresi ağ desteği olmadan başlamasını sağlayacaktır. Kullanıcı hakları değiştirileceği için bu yöntem güvenlik açısından önemlidir. Bu işlemler için şu komut kullanılmalıdır.
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
Mysql sunucusunun alt süreçleri çalıştırıldıktan sonra işlemleri yapmak için mysql uçbirimine düşmek gerekir. Bu uçbirime ulaşmak için şu komut kullanılır.
mysql -u root
Root şifresini değiştirmek yada yenilemek için ise şu kod kullanılmalıdır. Şifreniz yazan kısım sizin kendi kullanmak istediğiniz şifre ile değiştirilmelidir.
SET PASSWORD FOR root@'localhost' = PASSWORD('şifreniz');
Eğer herhangi bir bağlantı ile kullanılabilen bir root hesabı varsa ayrıca şu kodda uygulanmalıdır. Şifreniz kısmı yine sizin istediğiniz şifre olarak değiştirilmelidir.
UPDATE mysql.user SET Password=PASSWORD('şifreniz') WHERE User='root';
Alternatif yol
Bir diğer alternatif metot ise şu şekildedir. Yine mysql uçbiriminde şu komutlar verilmelidir. Şifreniz kısmı istediğiniz şifre ile değiştirilmelidir.
USE mysql UPDATE user SET Password = PASSWORD('şifreniz') WHERE Host = 'localhost' AND User = 'root';
Eğer herhangi bir bağlantı ile kullanılabilen bir root hesabı varsa ayrıca şu kodda uygulanmalıdır. Şifreniz kısmı yine sizin istediğiniz şifre olarak değiştirilmelidir.
USE mysql UPDATE user SET Password = PASSWORD('şifreniz') WHERE Host = '%' AND User = 'root';
Bu iki komutta başarılı olmaları durumunda bir yada iki satır değişiklikle şu çıktıyı döndürecektir.
FLUSH PRIVILEGES;
İşlemin tamamlanması
Bütün bu işlemleri yaptıktan sonra mysql sunucusunun durdurulup tekrar başlatılması gereklidir. Bu işlemi şu iki kod ile gerçekleştirmek mümkündür.
sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql start
Diğer yöntem - Tekrar Kurmak (Purge ile)
Bir diğer metot ise MySQL sunucusunun tekrar kurulmasıdır. Bunun için paketler purge seçeneği ile kaldırılmalıdır. Bu kaldırıp tekrar kurma işlemi şu iki kod ile gerçekleştirilebilir.
sudo apt-get --purge remove mysql-server mysql-common mysql-client sudo apt-get install mysql-server mysql-common mysql-client
Kurulum sırasında yapılandırılırken yeni şifre bilgisi sorulacaktır. Sorulmazsa şu komutlarla yeni şifre atanabilir. Şifreniz kısmı seçeceğiniz şifre ile değiştirilmelidir.
mysqladmin -u root password şifreniz
sudo /etc/init.d/mysql restart