最近系統升級牽涉到MySQL升級,需要升級到 MySQL 8.0,涉及MySQL用戶的密碼修改,特地記錄一下!
MySQL 8.0前修改密碼
在MySQL 8.0前,執行:SET PASSWORD=PASSWORD('[新密碼]') 進行密碼修改,在MySQL 8.0后,以上的方法使用root用戶修改別的用戶密碼是報錯的,因為MySQL 8.0后修改了修改密碼的方式!
mysql> use mysql;
mysql> update user set password=password('新密碼') where user='用戶名';
或者
mysql> update mysql.user set authentication_string=password('新密碼') where user='用戶名';
mysql> flush privileges; --刷新MySQL的系統權限相關表
MySQL 8.0后修改密碼
MySQL 8.0修改密碼步驟:
- 以 root 用戶登錄MySQL。
- 進入MySQL系統自帶數據庫: mysql 數據庫中。
- 執行更改密碼語句。
- 退出MySQL后,使用新的密碼重新登陸。
具體語句如下:
[root@localhost ~]# ./bin/mysql -u root -p '原來的密碼'
mysql> show databases;
mysql> use mysql;
mysql> ALTER USER '用戶名'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
mysql> flush privileges; --刷新MySQL的系統權限相關表
mysql> exit;
