第一:更改 “mysql” 數(shù)據(jù)庫里的 “user” 表里的 “host” 項,從”localhost”改稱'%'。 \x0d\x0a或者新加條記錄,“host” 項為要訪問的ip地址,并授權(quán)。重啟mysql服務(wù)。 \x0d\x0a第二:在系統(tǒng)防火墻添加例外端口:3306,并允許例外。 \x0d\x0a\x0d\x0a錯誤提示: \x0d\x0aERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server \x0d\x0a的解決方法: \x0d\x0a1。改表法??赡苁悄愕膸ぬ柌辉试S從遠(yuǎn)程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql后,更改 "mysql" 數(shù)據(jù)庫里的 "user" 表里的 "host" 項,從"localhost"改稱"%" \x0d\x0a1.mysql -u root -pvmware\x0d\x0amysqluse mysql;\x0d\x0amysqlupdate user set host = '%' where user = 'root';\x0d\x0amysqlselect host, user from user; \x0d\x0a\x0d\x0a2. 授權(quán)法。例如,你想myuser使用mypassword從任何主機連接到mysql服務(wù)器的話。 \x0d\x0a\x0d\x0aGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; \x0d\x0a如果你想允許用戶myuser從ip為192.168.1.3的主機連接到mysql服務(wù)器,并使用mypassword作為密碼 \x0d\x0aGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; \x0d\x0a\x0d\x0a3.在window自帶的防火墻里的例外添加3306端口 \x0d\x0a\x0d\x0a總結(jié): \x0d\x0amysql -u root -p \x0d\x0amysqluse mysql; \x0d\x0amysqlselect 'host' from user where user='root'; \x0d\x0amysqlupdate user set host = '%' where user ='root'; \x0d\x0amysqlflush privileges; \x0d\x0amysqlselect 'host' from user where user='root'; \x0d\x0a第一句是以權(quán)限用戶root登錄 \x0d\x0a第二句:選擇mysql庫 \x0d\x0a第三句:查看mysql庫中的user表的host值(即可進(jìn)行連接訪問的主機/IP名稱) \x0d\x0a第四句:修改host值(以通配符%的內(nèi)容增加主機/IP地址),當(dāng)然也可以直接增加IP地址 \x0d\x0a第五句:刷新MySQL的系統(tǒng)權(quán)限相關(guān)表 \x0d\x0a第六句:再重新查看user表時,有修改。。 \x0d\x0a重起mysql服務(wù)即可完成。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了市南免費建站歡迎大家使用!
第一:更改 “mysql” 數(shù)據(jù)庫里的 “user” 表里的 “host” 項,從”localhost”改稱'%'。
或者新加條記錄,“host” 項為要訪問的ip地址,并授權(quán)。重啟mysql服務(wù)。
第二:在系統(tǒng)防火墻添加例外端口:3306,并允許例外。
錯誤提示:
ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server
的解決方法:
1。改表法??赡苁悄愕膸ぬ柌辉试S從遠(yuǎn)程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql后,更改 "mysql" 數(shù)據(jù)庫里的 "user" 表里的 "host" 項,從"localhost"改稱"%"
1.mysql -u root -pvmware
mysqluse mysql;
mysqlupdate user set host = '%' where user = 'root';
mysqlselect host, user from user;
2. 授權(quán)法。例如,你想myuser使用mypassword從任何主機連接到mysql服務(wù)器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.3的主機連接到mysql服務(wù)器,并使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
3.在window自帶的防火墻里的例外添加3306端口
總結(jié):
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';
第一句是以權(quán)限用戶root登錄
第二句:選擇mysql庫
第三句:查看mysql庫中的user表的host值(即可進(jìn)行連接訪問的主機/IP名稱)
第四句:修改host值(以通配符%的內(nèi)容增加主機/IP地址),當(dāng)然也可以直接增加IP地址
第五句:刷新MySQL的系統(tǒng)權(quán)限相關(guān)表
第六句:再重新查看user表時,有修改。。
重起mysql服務(wù)即可完成。
MYSQL要想讓別人遠(yuǎn)程訪問自己的數(shù)據(jù)庫,必須讓mysql庫中user表的host字段為%,接受遠(yuǎn)程控制請求 ,可以進(jìn)入mysqluser mysql;
mysqlupdate user set host="%" where user="root" and host="localhost";這樣別人就可以通過 mysql -h xxx.xxx.xxx.xxx(你電腦的IP) -u root -p密碼 進(jìn)行連接并操作數(shù)據(jù)庫了。
找到MySQL配置文件,搜索“bind-address”,找到這一行:
bind-address = 127.0.0.1 在前面加一個#,注釋掉這一行,保存,重啟MySQL。
再通過遠(yuǎn)程訪問就可以了,telnet可以發(fā)現(xiàn)端口也打開了。
例配置:
1. 確保skip-networking被刪除或者屏蔽,否則不支持TCP/IP 訪問
2. 增加行bind-address = 65.55.55.2,替代65.55.55.2 為你的服務(wù)器地址
修改后,配置為:
[mysqld]
user?=?mysql
pid-file?=?/var/run/mysqld/mysqld.pid
socket?=?/var/run/mysqld/mysqld.sock
port?=?3306
basedir?=?/usr
datadir?=?/var/lib/mysql
tmpdir?=?/tmp
language?=?/usr/share/mysql/English
bind-address?=?65.55.55.2
#?skip-networking
保存并關(guān)閉配置文件
重啟mysql服務(wù)器:# /etc/init.d/mysql restart
如果上面辦法沒有用我們可以通用mysql命令模式進(jìn)行設(shè)置:
可能是你的帳號不允許從遠(yuǎn)程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql后,更改 "mysql" 數(shù)據(jù)庫里的 "user" 表里的 "host" 項,從"localhost"改稱"%" ??
CODE:mysql?-u?root?-p123
mysqluse?mysql;
mysqlupdate?user?set?host?=?'%'?where?user?=?'root';
mysqlselect?host,?user?from?user;
一、連接遠(yuǎn)程數(shù)據(jù)庫:
1、顯示密碼
如:MySQL 連接遠(yuǎn)程數(shù)據(jù)庫(192.168.5.116),端口“3306”,用戶名為“root”,密碼“123456”
C:/mysql -h 192.168.5.116 -P 3306 -u root -p123456
2、隱藏密碼
如:MySQL 連接本地數(shù)據(jù)庫,用戶名為“root”,
C:/mysql -h localhost -u root -p
Enter password:
二、配置mysql允許遠(yuǎn)程鏈接
默認(rèn)情況下,mysql帳號不允許從遠(yuǎn)程登陸,只能在localhost登錄。本文提供了二種方法設(shè)置mysql可以通過遠(yuǎn)程主機進(jìn)行連接。
一、改表法
在localhost登入mysql后,更改 "mysql" 數(shù)據(jù)庫里的 "user" 表里的 "host" 項,將"localhost"改稱"%"
例如:
#mysql -u root -p
Enter password:
……
mysql
mysqlupdate user set host = '%' where user = 'root';
mysqlselect host, user from user;
二、授權(quán)法
例如: 你想myuser使用mypassword(密碼)從任何主機連接到mysql服務(wù)器的話。
mysqlGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql服務(wù)器,并使用mypassword作為密碼
mysqlGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
mysqlFLUSH PRIVILEGES
使修改生效,就可以了
常見問題:
1、在采用法二授權(quán)法之后,無法在本地登錄mysql(如:#mysql -u root -p -h 192.168.5.116
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'loadb116' (using password: YES)
上例中l(wèi)oadb116是主機名.
解決方法:
1、這時可以使用:mysql -u root -p 登錄,進(jìn)入到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