第一:更改 “mysql” 數(shù)據(jù)庫里的 “user” 表里的 “host” 項,從”localhost”改稱'%'。

我們提供的服務(wù)有:網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、天門ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的天門網(wǎng)站制作公司
或者新加條記錄,“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。改表法。可能是你的帳號不允許從遠(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從任何主機(jī)連接到mysql服務(wù)器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.3的主機(jī)連接到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)行連接訪問的主機(jī)/IP名稱)
第四句:修改host值(以通配符%的內(nèi)容增加主機(jī)/IP地址),當(dāng)然也可以直接增加IP地址
第五句:刷新MySQL的系統(tǒng)權(quán)限相關(guān)表
第六句:再重新查看user表時,有修改。。
重起mysql服務(wù)即可完成。
1. 授權(quán)用戶root使用密碼jb51從任意主機(jī)連接到mysql服務(wù)器:
代碼如下:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'jb51' WITH GRANT OPTION;
flush privileges;
2.授權(quán)用戶root使用密碼jb51從指定ip為218.12.50.60的主機(jī)連接到mysql服務(wù)器:
代碼如下:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'218.12.50.60' IDENTIFIED BY 'jb51' WITH GRANT OPTION;
flush privileges;
是root用戶的話,IP就是localhost或127.0.0.1,只是代表使用本機(jī),不是代表本機(jī)IP地址,操作方法如下:
1、首先,利用Navicat創(chuàng)建一個數(shù)據(jù)庫和表,數(shù)據(jù)庫名為testdb,表為userinfo,并添加一條新記錄。
2、用如下的數(shù)據(jù)庫連接字符串訪問數(shù)據(jù)庫時,是沒有問題的。Driver = MySQL ODBC 5.1 Driver; Server = localhost; Port=3306; DATABASE = testdb; user = root; password = 123456。
3、其中,Server是數(shù)據(jù)庫所在主機(jī)IP地址,Prot是連接端口;user和password則為連接數(shù)據(jù)庫的用戶名和密碼,使用Select * from userinfo 可以正確獲取到數(shù)據(jù)。
4、但是當(dāng)把localhost換成實(shí)際的IP地址的時候,就報錯了,說明這個數(shù)據(jù)庫testdb是默認(rèn)沒開啟訪問權(quán)限的,默認(rèn)情況下只允許localhost和127.0.0.1訪問。
5、更新root賬戶的權(quán)限。打開mysql命令行窗口,輸入grant all privileges on *.* to root@"%" identified by 'abc' with grant option;??flush privileges。
6、創(chuàng)建一個新賬戶,如guest,并將可被訪問的主機(jī)定義為%,即所有主機(jī)都可訪問該賬戶。測試,沒有問題。
設(shè)置mysql服務(wù)允許外網(wǎng)訪問,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.
1:設(shè)置mysql的配置文件
/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 將其注釋掉;//作用是使得不再只允許本地訪問;
重啟mysql:/etc/init.d/mysql restart;
2:登錄mysql數(shù)據(jù)庫:mysql -u root -p
mysql use mysql;
查詢host值:
mysql select user,host from user;
如果沒有"%"這個host值,就執(zhí)行下面這兩句:
mysql update user set host='%' where user='root';
mysql flush privileges;
或者也可以執(zhí)行:
mysqlgrand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一個*表示數(shù)據(jù)庫名;第二個*表示該數(shù)據(jù)庫的表名;如果像上面那樣 *.*的話表示所有到數(shù)據(jù)庫下到所有表都允許訪問;
‘%':表示允許訪問到mysql的ip地址;當(dāng)然你也可以配置為具體到ip名稱;%表示所有ip均可以訪問;
后面到‘xxxx'為root 用戶的password;
舉例:
任意主機(jī)以用戶root和密碼mypwd連接到mysql服務(wù)器
mysql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql flush privileges;
IP為192.168.1.102的主機(jī)以用戶myuser和密碼mypwd連接到mysql服務(wù)器
mysql GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql flush privileges;
整體簡介:
為了安全起見默認(rèn)情況下Mysql數(shù)據(jù)庫的監(jiān)聽地址是127.0.0.1,就是指本機(jī)下的程序才能訪問。
監(jiān)聽地址是0.0.0.0 ,表示該mysql允許所有IP地址進(jìn)行連接,這是允許遠(yuǎn)程連接的基礎(chǔ)
監(jiān)聽地址是127.0.0.1,則代表該mysql只允許所在服務(wù)器本機(jī)連接,外網(wǎng)是無法連接的
所需工具原料:
Linux,apache,php,mysql
解決方法:
1. 用命令vi 編輯/etc/mysql/my.cnf 如圖:
在[mysqld]節(jié)中增加下面一行:
2. bind-address=0.0.0.0? #全部地址或者指定的ip地址如圖所示
3. 重啟服務(wù)
service mysqld restart
4. Linux服務(wù)器中執(zhí)行如下命令可以查看:??? netstat -nutlp|grep mysql(只查看mysql的監(jiān)聽), netstat -tln(查看所有的監(jiān)聽)是否成功。
進(jìn)入mysql的bin目錄
至此就可以通過ip地址訪問了,是不是很簡單?
當(dāng)前文章:怎么用ip連接mysql,怎么用ip連接另一臺電腦打印機(jī)
標(biāo)題鏈接:http://chinadenli.net/article6/dsgjcog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站收錄、云服務(wù)器、域名注冊、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)