mysql – 修改 MySQL 使用者 root 的密碼
升級 PHP7.2 跟 phpmyadmin4.6 以後,不知道哪邊出問題結果 root 無法登入。
方法一
直接下指令
1 2 3 |
echo "UPDATE mysql.user SET plugin = 'mysql_native_password', authentication_string = PASSWORD('你的新密碼') WHERE USER='root';FLUSH PRIVILEGES;"| mysql --defaults-file=/etc/mysql/debian.cnf mysql |
記得 plugin 要指定為 mysql_native_password。
方法二
參考,開啟 /etc/mysql/debian.cnf 找到 [client] 提供的用戶名和密碼,會看例如
1 2 3 4 5 6 7 8 9 10 11 12 |
[client] host = localhost user = debian-sys-maint password = nZNmGKf9gs6J1Xbo socket = /var/run/mysqld/mysqld.sock [mysql_upgrade] host = localhost user = debian-sys-maint password = nZNmGKf9gs6J1Xbo socket = /var/run/mysqld/mysqld.sock |
使用 user, password 登入
1 2 3 |
mysql -u debian-sys-maint -p mysql |
接著 Password 輸入密碼 nZNmGKf9gs6J1Xbo 後登入資料庫 mysql,參考,下指令修改 root 密碼
1 2 3 |
UPDATE mysql.user SET authentication_string=PASSWORD('你的新密碼') WHERE USER='root';FLUSH PRIVILEGES; |
這樣重新登入就完成了。