MySql報錯程式碼1251和1064
阿新 • • 發佈:2018-12-10
今天下了個 MySQL8.0,發現Navicat連線不上,總是報錯1251;
原因是MySQL8.0版本的加密方式和MySQL5.0的不一樣,連線會報錯。
試了很多種方法,終於找到一種可以實現的:
更改加密方式
1.先通過命令列進入mysql的root賬戶:?1 | PS C:\Windows\system32> mysql -uroot -p |
再輸入root的密碼:
?12345678910 | Enter password : ****** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 18 Server version: 8.0.11 MySQL Community Server - GPL Copyright (c) 2000, 2018, Oracle and / or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and / or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> |
2.更改加密方式:
?12 | mysql> ALTER USER 'root' @ 'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; Query OK, 0 rows affected (0.10 sec) |
3.更改密碼:該例子中 123為新密碼
?12 | mysql> ALTER USER 'root' @ 'localhost' IDENTIFIED WITH mysql_native_password BY '123' ; Query OK, 0 rows affected (0.35 sec) |
4.重新整理:
?12 | mysql> FLUSH PRIVILEGES ; Query OK, 0 rows affected (0.28 sec) |
// 如果報錯ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@’%’:
則是遠端訪問許可權不正確,先選擇資料庫,檢視一下再更改:
?12345678910111213 | mysql> use mysql; Database changed mysql> select user ,host from user ; + ------------------+-----------+ | user | host | + ------------------+-----------+ | mysql.infoschema | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | + ------------------+-----------+ 5 rows in set (0.00 sec) |
小編是IT實習生,在編寫的過程中還遇到了Mysql1064錯誤,這裡重點強調一下,一定一定一定要注意反引號和單引號的使用,不然會頻繁報1064錯誤,由於版本不同我們可以使用不同的方法,單引號不行你就用反引號。