mysql 問題總結 只能本地連接問題


MySQL本地可以連接,遠程連接不上的解決:

  

1> 改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql后,更改 "mysql" 數據庫里的 "user" 表里的 "host" 項,從"localhost"改成"%"( 我一般直接在表中修改)

  mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;

2. 授權法。例如,你想myuser使用mypassword從任何主機連接到mysql服務器的話。 (也可以把%換成指定ip)

  GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

這個時候就會往mysql的user表里面添加一條數據:

  INSERT INTO `user` VALUES ('%', 'root', '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', '0', '0', '0', '0');

 

 

navicate連接mysql8:

    navicate在連接8的時候會報密碼錯誤,加密方式不同而已

    

    執行下面命令即可

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
 
    然后在連接就好了。

 


mysql8的遠程連接:

    

必須先創建用戶(密碼規則:mysql8.0以上密碼策略限制必須要大小寫加數字特殊符號)
create user huhy@'%' identified  by 'Huhy123.';

賦值權限
grant all privileges on *.* to huhy@'%' with grant option;

刷新
flush privileges;

當你進行遠程連接是,會出現這樣的錯誤:Unable to load authentication plugin 'caching_sha2_password'.
是因為mysql8使用的是caching_sha2_password加密規則,最簡單的方法是修改遠程連接用戶的加密規則:
ALTER USER 'huhy'@'%' IDENTIFIED WITH mysql_native_password BY 'Huhy123.';

練習:

  

create database 數據庫名稱default character set utf8 collate utf8_bin;
create user '用戶名'@'%' identified by '密碼';
create user '用戶名'@'localhost' identified by 'NFadmin';
grant all privileges on `數據庫名`.* to '用戶名'@'%' identified by '密碼';
grant all privileges on `數據庫名`.* to '用戶名'@'localhost' identified by '密碼';
flush privileges;

 

 

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM