1. 程式人生 > 其它 >mysql 修改密碼問題 5.6,5.7 (配置方式的skip-grant-tables可能不行,推薦命令列方式)

mysql 修改密碼問題 5.6,5.7 (配置方式的skip-grant-tables可能不行,推薦命令列方式)

mysql 修改密碼後,注意 FLUSH PRIVILEGES !

MYSQL服務無法啟動,服務沒有任何錯誤;解決方法
進入DOS介面,到MySQL資料夾下輸入mysqld --console
在命令列中輸入mysqld --install

不過我在安裝 5.7.27版本的時候怎麼flush都沒用。不知道為啥原始隨機密碼測試也是不行,my.cnf裡修改為 skip-grant-tables

然後修改密碼,還是不行。如下圖:

後面從配置中去掉skip-grant-tables(圖中看可能這種操作,不行) ,關閉mysql服務,單獨命令列啟動mysqld --skip-grant-tables,再開一個shell去連結,update mysql.user set authentication_string=password('123qwe') where user='root'; 執行後flush privileges;

重啟mysql 服務:service mysql start 。重新連結可以了,

但是報另外一個錯誤,提示要rest 密碼(前面擔心是不是root這個密碼不讓用,用的別的密碼,想改回來),執行alter user user() identified by 'xxxx' ; flush privileges; 後面就正常可以了。

參考:windows版本的https://blog.csdn.net/nicepuppy/article/details/80863836

解決Your password has expired. To log in you must change it using a client that supports expired passwords
辦法

開啟 命令列

  1. /usr/local/mysql/bin/mysqladmin-uroot-ppassword


提示輸入按照後的那個密碼

輸入完成後 提示輸入新的密碼

  1. Enterpassword:
  2. Newpassword:

Confirm new password:

完成

mysql> grant all privileges on *.* to 'root'@'your-host-ip' identified by 'your-mysql-password' with grant option;
mysql> flush privileges;
mysql> exit