Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mengubah kata sandi akun root MySQL di CentOS7?

Versi mySQL apa yang Anda gunakan? Saya menggunakan 5.7.10 dan memiliki masalah yang sama dengan masuk sebagai root

Ada 2 masalah - mengapa saya tidak bisa masuk sebagai root untuk memulai, dan mengapa saya tidak bisa menggunakan 'mysqld_safe` untuk memulai mySQL untuk mereset kata sandi root.

Saya tidak punya jawaban untuk mengatur kata sandi root selama instalasi, tetapi inilah yang Anda lakukan untuk mengatur ulang kata sandi root

Sunting kata sandi root awal saat menginstal dapat ditemukan dengan menjalankan

grep 'temporary password' /var/log/mysqld.log

http://dev.mysql.com /doc/refman/5.7/en/linux-installation-yum-repo.html

  1. systemd sekarang digunakan untuk menjaga mySQL daripada mysqld_safe (itulah sebabnya Anda mendapatkan -bash: mysqld_safe: command not found kesalahan - tidak terpasang)

  2. user struktur tabel telah berubah.

Jadi untuk mereset kata sandi root, Anda masih memulai mySQL dengan --skip-grant-tables opsi dan perbarui user tabel, tetapi cara Anda melakukannya telah berubah.

1. Stop mysql:
systemctl stop mysqld

2. Set the mySQL environment option 
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"

3. Start mysql usig the options you just set
systemctl start mysqld

4. Login as root
mysql -u root

5. Update the root user password with these mysql commands
mysql> UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPassword')
    -> WHERE User = 'root' AND Host = 'localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit

*** Edit ***
As mentioned my shokulei in the comments, for 5.7.6 and later, you should use 
   mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Or you'll get a warning

6. Stop mysql
systemctl stop mysqld

7. Unset the mySQL envitroment option so it starts normally next time
systemctl unset-environment MYSQLD_OPTS

8. Start mysql normally:
systemctl start mysqld

Try to login using your new password:
7. mysql -u root -p

Referensi

Seperti yang tertulis di http://dev.mysql.com /doc/refman/5.7/en/mysqld-safe.html ,

Yang akan membawa Anda ke http://dev .mysql.com/doc/refman/5.7/en/server-management-using-systemd.html di mana ia menyebutkan systemctl set-environment MYSQLD_OPTS= menuju bagian bawah halaman.

Perintah pengaturan ulang kata sandi ada di bagian bawah http:// dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Peringatan:PDO::__construct():[2002] Tidak ada file atau direktori seperti itu (mencoba terhubung melalui unix:///tmp/mysql.sock) di

  2. Temukan Panjang/Lat di dalam poligon dengan MySQL 5.6

  3. Peringatan direktori pengguna/local/mysql/data tidak dimiliki oleh pengguna mysql

  4. Mengapa saya tidak bisa memasukkan 10 digit ketika kolom saya adalah INT(10)

  5. Bagaimana mengelola database Rails.yml