本文目錄一覽:
如何允許mysql 遠程連接
第一:更改 “mysql” 數據庫里的 “user” 表裡的 “host” 項,從”localhost”改稱’%’。
或者新加條記錄,“host” 項為要訪問的ip地址,並授權。重啟mysql服務。
第二:在系統防火牆添加例外端口:3306,並允許例外。
錯誤提示:
ERROR 1130: Host ‘192.168.1.3’ is not allowed to connect to this MySQL server
的解決方法:
1。改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 “mysql” 數據庫里的 “user” 表裡的 “host” 項,從”localhost”改稱”%”
1.mysql -u root -pvmware
mysqluse mysql;
mysqlupdate user set host = ‘%’ where user = ‘root’;
mysqlselect host, user from user;
2. 授權法。例如,你想myuser使用mypassword從任何主機連接到mysql服務器的話。
GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.3的主機連接到mysql服務器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’192.168.1.3’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
3.在window自帶的防火牆裡的例外添加3306端口
總結:
mysql -u root -p
mysqluse mysql;
mysqlselect ‘host’ from user where user=’root’;
mysqlupdate user set host = ‘%’ where user =’root’;
mysqlflush privileges;
mysqlselect ‘host’ from user where user=’root’;
第一句是以權限用戶root登錄
第二句:選擇mysql庫
第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)
第四句:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址
第五句:刷新MySQL的系統權限相關表
第六句:再重新查看user表時,有修改。。
重起mysql服務即可完成。
如何開啟MySQL遠程訪問權限 允許遠程連接
1、改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 “mysql” 數據庫里的 “user” 表裡的 “host” 項,從”localhost”改稱”%” mysql -u root -pvmwaremysqluse mysql; mysqlupdate user set host = ‘%’ where user = ‘root’; mysqlselect host, user from user; 2、授權法。 GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’%’IDENTIFIED BY ‘mypassword’ WI TH GRANT OPTION; 如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql服務器,並使用mypassword作為密碼 GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’192.168.1.3’IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION; 我用的第一個方法,剛開始發現不行,在網上查了一下,少執行一個語句 mysqlFLUSH RIVILEGES 使修改生效,就可以了 另外一種方法: 在安裝mysql的機器上運行: 1、d:\mysql\bin\mysql -h localhost -u root //這樣應該可以進入MySQL服務器 2、mysqlGRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’WITH GRANT OPTION //賦予任何主機訪問數據的權限 3、mysqlFLUSH PRIVILEGES //修改生效 4、mysqlEXIT //退出MySQL服務器 這樣就可以在其它任何的主機上以root身份登錄啦。
本回答由提問者推薦
如何讓mysql數據庫允許被遠程連接訪問
一、連接遠程數據庫:
1、顯示密碼
如:MySQL 連接遠程數據庫(192.168.5.116),端口“3306”,用戶名為“root”,密碼“123456”
C:/mysql -h 192.168.5.116 -P 3306 -u root -p123456
2、隱藏密碼
如:MySQL 連接本地數據庫,用戶名為“root”,
C:/mysql -h localhost -u root -p
Enter password:
二、配置mysql允許遠程鏈接
默認情況下,mysql帳號不允許從遠程登陸,只能在localhost登錄。本文提供了二種方法設置mysql可以通過遠程主機進行連接。
一、改表法
在localhost登入mysql後,更改 “mysql” 數據庫里的 “user” 表裡的 “host” 項,將”localhost”改稱”%”
例如:
#mysql -u root -p
Enter password:
……
mysql
mysqlupdate user set host = ‘%’ where user = ‘root’;
mysqlselect host, user from user;
二、授權法
例如: 你想myuser使用mypassword(密碼)從任何主機連接到mysql服務器的話。
mysqlGRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’%’IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql服務器,並使用mypassword作為密碼
mysqlGRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’192.168.1.3’IDENTIFIED BY
‘mypassword’ WITH GRANT OPTION;
mysqlFLUSH PRIVILEGES
使修改生效,就可以了
常見問題:
1、在採用法二授權法之後,無法在本地登錄mysql(如:#mysql -u root -p -h 192.168.5.116
Enter password:
ERROR 1045 (28000): Access denied for user ‘root’@’loadb116’ (using password: YES)
上例中loadb116是主機名.
解決方法:
1、這時可以使用:mysql -u root -p 登錄,進入到mysql後。
mysql grant all privileges on *.* to ‘root’@’loadb116’
identified by ‘123456’ with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql flush privileges;
Query OK, 0 rows affected (0.00 sec)
2、在本地使用ip地址登錄
# mysql -u root -p -h 192.168.5.116
Enter password:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 60
Server version: 5.1.45 MySQL Community Server (GPL)
Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the buffer.
mysql
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/246853.html