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的時候會報密碼錯誤,加密方式不同而已

執行下面命令即可
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;
