Database - Navicat 首次連接 MySQL

首次安裝MySQL後,通過Navicat進行連接MySQL遇到了一系列的問題,不過都順利KO ~

畫蛇添足

正篇

基礎必備

此處聲明一些cmd內基礎sql語句的操作與注意事項

  • 管理員身份運行cmd
  • 啓動服務
net start mysql
  • 登錄數據庫
#之後輸入之前設置過的密碼即可
mysql -u root -p
  • 進入mysql數據庫
use mysql
  • 查看user對應的host
select host, user from user;

允許遠程連接數據庫

遠程連接MySQL數據庫報錯:is not allowed to connect to this MYSQL server的解決辦法

改表法

PS:我用的這種解決的問題

在localhost登入mysql後,更改 “mysql” 數據庫裏的 “user” 表裏的 “host” 項,將"localhost"改稱"%"

完整命令

#登錄MySQL
mysql -u root -p
#查看已有數據庫
show databases;
#進入mysql數據庫
use mysql;
#修改用戶的host
update user set host = '%' where user = 'root';
#檢驗是否修改成功
select host, user from user;

補充:

show databses; ~
在這裏插入圖片描述
select host, user from user; ~ 方便檢驗修改前後的host
在這裏插入圖片描述

授權法

場景:你想root使用mypassword從任何主機連接到mysql服務器的話

GRANT ALL PRIVILEGES ON *.* TO ‘root’@'%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
# 刷新MySQL的系統權限相關表
flush privileges;

場景:如果你想允許用戶root從ip爲192.168.1.3的主機連接到mysql服務器,並使用mypassword作爲密碼

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.40.54' IDENTIFIED BY '123456' WITH GRANT OPTION;
# 刷新MySQL的系統權限相關表
flush privileges;

常見問題:在採用法二授權法之後,無法在本地登錄mysql

1.授權

# 登錄MySQL
mysql -u root -p
# 授權
grant all privileges on *.* to 'root'@'主機名' identified by '123456' with grant option; 
# 刷新權限
flush privileges; 

2.在本地使用ip地址登錄

mysql -u root -p -h ip地址

遠程連接身份驗證

Authentication plugin 'caching_sha2_password

Navicat Premium 12連接MySQL數據庫時出現Authentication plugin ‘caching_sha2_password’ cannot be loaded的錯誤

出現原因:

MySQL8 之前的版本中加密規則是mysql_native_password,而在MySQL8 之後,加密規則是caching_sha2_password,

解決方式:

  • 升級navicat驅動
  • 還原mysql用戶登錄密碼加密規則爲mysql_native_password.

主講還原密碼規則

完整命令

#登錄MySQL
mysql -u root -p
#修改賬戶密碼加密規則
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
#更新用戶密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 
#刷新權限並重置密碼
FLUSH PRIVILEGES; 

核心命令

這裏的%代表的是任意遠端而非localhost,可以進入mysql表查詢對應的user
在這裏插入圖片描述
擴展命令

#單獨重置密碼命令
alter user 'root'@'localhost' identified by '123456';

大功告成
在這裏插入圖片描述

Navicat設置編碼格式

編輯連接 - 高級 (默認編碼:自動)
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章