直接對root用戶修改的方法
操作前請在 bin
目錄下運行cmd,或者設(shè)置好bin的環(huán)境變量
- 登錄MySQL
mysql -u root -p
- 回車后輸入密碼
- 選擇 要操作的服務(wù)
use mysql;
我是使用的mysql作為名稱,根據(jù)你自己服務(wù)器名稱輸入命令 - 查看mysql 數(shù)據(jù)庫的 user 表中當(dāng)前 root 用戶的相關(guān)信息(host plugin)
select host,user,authentication_string,plugin from user;
執(zhí)行完命令后顯示一個表格蕾总, root 用戶的 host默認顯示的localhost樊拓,說明只支持本地訪問西设,不允許遠程訪問坟桅。 - 先給root賬戶授權(quán),這里我直接給了所有權(quán)限
grant all privileges on *.* to 'root'@'%' with grant option;
- 更改 root用戶host 的默認配置
update user set host='%' where user='root';
- 執(zhí)行前面的查詢命令查看root的host是否改變?yōu)閘ocalhost(如果失敗請繼續(xù)往后看)
- 然后更改加密規(guī)則
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
- 更新用戶密碼
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
- 刷新權(quán)限
FLUSH PRIVILEGES;
成功后,可以看到root的host改變了,plugin也變成了mysql_native_password(以前也是mysql_na…但是要修改后才能真的連接成功,很玄學(xué))
!如果上面的步驟你的修改不成功請接著往下看
直接添加用戶的方法
很多人可能和我一樣,前面的直接修改root用戶失敗,之后我嘗試了直接添加用戶的方法成功了,首先你要確保沒有犯低級錯誤,上面的命令行大多是由分號的,請仔細檢查.
-
啟動cmd,到第三步驟為止都一樣,先創(chuàng)建一個用戶
Create user 'name'@'%' identified by 'password';
名字自己定密碼自己定. 執(zhí)行查詢用戶命令后可以看到多了一個用戶,這里我創(chuàng)建的是else.它的host應(yīng)該為localhost,之前我忘記截圖了.他的plugin是caching_…..
對用戶授權(quán)
grant all privileges on *.* to 'name'@'%' with grant option;
修改host
update user set host='%' where user='else';
修改加密方式
ALTER USER 'else'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
更新密碼
ALTER USER 'else'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
刷新權(quán)限
FLUSH PRIVILEGES;
查詢用戶可以看到else用戶的host為”%” plugin為”mysql_native_password”這樣基本就代表成功了.
問題到此解決了!