Mysql不同版本修改root密碼的方法

2021-08-21 18:03:59 字數 1749 閱讀 1015

1、進入mysql,如果忘記密碼。。。那就用安全模式進入,先關閉服務

mysql -u root -p

忘記密碼

service mysqld stop

mysqld_safe --skip-grant-tables &

mysql -u root

2、進入mysql資料庫

use mysql;

3、重點來了。

5.6版本,設定密碼:

update mysql.usersetpassword=password('123456') where user="root";

在這裡你可以指定是localhost還是別的ip,加乙個and 條件即可。

and host = "localhost";

flush privileges;

grant all on *.* to'root'@'localhost'identified by'123456'with grant option;

5.7以上版本,password 欄位被設定為了authentication_string,因此更新命令為

update mysql.usersetauthentication_string=password('123456') where user="root"and host="localhost";

4、退出安全模式,並重啟mysql

quit

service mysqld start

這樣就ok了

還有在別的主機連線mysql時遇到的問題。

host "xx.xx.xx.xx" is not allowed to connect mysql

這是因為缺少許可權,需要賦予別的主機連線許可權。

grant all privileges on *.* to 'root'@'%' identified by 'mypassword' with grant option;

flush   privileges;

命令列中的 %,則代表任意ip。   *.* 代表所有資料庫,你可以只給某一資料庫許可權。如資料庫 abc , 則命令 *.* 變為 abc.*

許可權這事很有意思,可以給某一使用者指定某一資料庫遠端連線,這樣就防止mysql 暴露在遠端的連線中。畢竟root許可權還是蠻大的。

MYSQL 版本8以上修改root密碼

根據部落格 才知道很多寫法跳過驗證的已經不適應 如 skip grant tables 需要使用 mysqld console skip grant tables shared memory 通過上一條命令已經開啟服務 另開乙個cmd終端 使用命令 mysql u root p 在要求輸入密碼的時候...

MySQL 5 7版本修改root密碼

如果 mysql 正在執行 首先殺之 killall term mysqld。執行 mysqld safe skip grant tables 如果此時不想被遠端連線 mysqld safe skip grant tables skip networking 使用mysql連線server mysq...

MYSQL8 0以上版本正確修改ROOT密碼

部署環境 安裝版本red hat cent 7.0 mysql 版本 8.0.2.0 成功部署完畢後出現故障情況 1.正常啟動mysql服務後,敲linux中root賬戶和密碼進入不去。2.從 etc my.cnf 配置檔案中加入skip grant table後正常登陸,但是不能建立使用者等多操作...