問題描述:安裝完成Mysql8.0.16,navicat連接報錯:1251
按照如下步驟可以解決問題,親測有效。
開啟mysql命令框,輸入密碼
方法一輸入命令:
alter user 用戶名@host值 identified with mysql_native_password by 密碼;
以上解決了1251的問題
方法二:
修改的是mysql數據庫下面user表里面的host值:
命令:update mysql.user set host='%' where user='admin';
此命令解決外部能訪問此數據庫
做完以上步驟,檢查是否修改成功,本人是新增admin賬號開放給其他人,host變成‘%’,可以提供給其他人訪問
以上方法還不能解決問題,大家可以嘗試以下方法
配置好bin的環境變量,在bin的目錄下運行CMD
- 登錄MySQL
mysql -u root -p
- 回車后輸入密碼
- 選擇 要操作的服務
use mysql;
我是使用的mysql作為名稱,根據你自己服務器名稱輸入命令 - 先創建一個用戶
Create user ‘name‘@‘%‘ identified by ‘password‘;
名字自己定密碼自己定,記得mysql大多命令要接分號結束 - 對用戶授權
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‘;
- 刷新權限
FLUSH PRIVILEGES;
- 查詢用戶可以看到else用戶的host為"%" plugin為"mysql_native_password"這樣基本就代表成功了.
以上是對允許外部訪問總結