連線mysql報錯1251解決方案《親測可行》

2021-08-21 15:15:12 字數 3067 閱讀 4192

今天下了個 mysql8.0,發現phpstudy front連線不上,總是報錯1251;

原因是mysql8.0版本的加密方式和mysql5.0的不一樣,連線會報錯。

試了很多種方法,終於找到一種可以實現的:

更改加密方式

1.先通過命令列進入mysql的root賬戶:

ps c:\windows\system32> mysql -uroot -p

再輸入root的密碼:

enterpassword: ******

welcometothe mysql monitor.  commandsendwith;or\g.

your mysqlconnectionidis18

server version: 8.0.11 mysql community server - gpland/orits affiliates.allrights reserved.

oracleisa registered trademarkoforacle corporationand/orits

affiliates. other names may be trademarksoftheir respective

owners.

type'help;'or'\h'forhelp. type'\c'toclear thecurrentinput statement.

mysql>

2.更改加密方式:

mysql>alteruser'root'@'localhost'identifiedby'password'passwordexpire never;

query ok, 0rowsaffected (0.10 sec)

3.更改密碼:該例子中 123為新密碼

mysql>alteruser'root'@'localhost'identifiedwithmysql_native_passwordby'123';

query ok, 0rowsaffected (0.35 sec)

4.重新整理:

mysql> flushprivileges;

query ok, 0rowsaffected (0.28 sec)

// 如果報錯error 1396 (hy000): operation alter user failed for 'root'@'%':

則是遠端訪問許可權不正確,先選擇資料庫,檢視一下再更改:

mysql> use mysql;

databasechanged

mysql>selectuser,hostfromuser;

+------------------+-----------+

|user| host      |

+------------------+-----------+

| mysql.infoschema | localhost |

| mysql.session    | localhost |

| mysql.sys        | localhost |

| root             | localhost |

+------------------+-----------+

5rowsinset(0.00 sec)

Mysql 連線報錯 1251解決方案

mysql8.0版本的加密方式和mysql5.0的不一樣,連線會報錯。試了很多種方法,終於找到一種可以實現的 更改加密方式 1.先通過命令列進入mysql的root賬戶 1 ps c windows system32 mysql uroot p 再輸入root的密碼 1 2345 6789 10en...

MySQL連線報錯 1045解決

下面是報錯的彈框 出現這個錯誤的本質是因為你的密碼填寫錯誤,但你是不是會疑惑之前一直是這個密碼,咋會不對呢?那麼你跟我是一樣的問題,請往下看。解決步驟 1 首先停止mysql的服務,window r 輸入 services.msc,找到mysql服務停止它。關閉服務後,cmd 進入控制台 這裡需要使...

Navicat 連線 Mysql 出現1251錯誤

出現這個原因是mysql8 之前的版本中加密規則是mysql native password 解決辦法 先輸入 alter user root localhost identified by password password expire never 修改加密規則 再輸入alter user ro...