mysql8远程连接报错1251异常详细(保姆级教程)
環(huán)境centos7 + mysql8 本地navicat破解版
這種情況下考慮還是因為mysql的版本問題,在mysql5的時候mysql使用的是mysql_native_password加密協(xié)議,在mysql8之后就改為了caching_sha2_password。所以我們現(xiàn)在去連接mysql會報錯加密協(xié)議不對,
第一步
要解決問題也不難,首先我們查看一下用戶的加密協(xié)議
select host,user,plugin,authentication_string from mysql.user;
這里我們以zuoan這個用戶為例(博主這里已經(jīng)測試更改過了,原本是caching_sha2_password)
解釋一下這里的字段 ,pluging代表密碼加密方式,我們需要改為mysql_native_password,(博主這里已經(jīng)測試更改過了,原本是caching_sha2_password),host代表這個用戶可以在任何地址上登錄,如果你的不是%,則這個用戶不能遠(yuǎn)程登錄,需要使用如下方法開啟遠(yuǎn)程登錄
方法一
改表法
顧名思義,該方法就是直接修改更改"mysql"數(shù)據(jù)庫里的"user"表里的"host"項,從"localhost"改為"%"
方法二
授權(quán)法
通過GRANT命令可以授予主機(jī)遠(yuǎn)程訪問權(quán)限
第二步
我們要更改mysql加密方式,先查看一下mysql的加密策略,不然很難更改密碼
SHOW VARIABLES LIKE 'validate_password%';
我們可以看到這兩行就是我們要更改的,將mysql的加密策略密碼復(fù)雜度由medium改為low,密碼長度改低一點,當(dāng)然這個可以隨意,只是博主習(xí)慣了六位數(shù)的密碼,注意validate_password.policy和validate_password_policy,如果你們查出來是validate_password.policy=medium就要寫validate_password.policy!!!
關(guān)于 mysql 密碼策略相關(guān)參數(shù);
1)validate_password_length 固定密碼的總長度;
2)validate_password_dictionary_file 指定密碼驗證的文件路徑;
3)validate_password_mixed_case_count 整個密碼中至少要包含大/小寫字母的總個數(shù);
4)validate_password_number_count 整個密碼中至少要包含阿拉伯?dāng)?shù)字的個數(shù);
5)validate_password_policy 指定密碼的強(qiáng)度驗證等級,默認(rèn)為 MEDIUM;
第三步
更改mysql加密方式
ALTER USER 'zuoan'@'%' IDENTIFIED BY '佐岸用戶密碼' PASSWORD EXPIRE NEVER;第四步
更新一下密碼
ALTER USER 'zuoan'@'%' IDENTIFIED WITH mysql_native_password BY '123456' ;第五步
刷新權(quán)限
FLUSH PRIVILEGES ;總結(jié)
以上是生活随笔為你收集整理的mysql8远程连接报错1251异常详细(保姆级教程)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 复星时尚集团成立旗下品牌管理公司
- 下一篇: dwdw