最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解析遠程連接管理其他機器上的MYSQL數(shù)據(jù)庫

 更新時間:2013年06月25日 10:44:01   作者:  
本篇文章是對遠程連接管理其他機器上的MYSQL數(shù)據(jù)庫進行了詳細的分析介紹,需要的朋友參考下

在開發(fā)過程中,有時候需要遠程連接并管理別的機器上的MYSQL數(shù)據(jù)庫,在實現(xiàn)的過程中會遇到一系列的問題,現(xiàn)在以遠程訪問我自己安裝在Ubuntu上的MYSQL數(shù)據(jù)為例(端口為默認端口3306),說明一下配置步驟及每一步中遇到的問題及相應(yīng)解決方法:
遠程連接管理MYSQL,總體上來說有三步:(A為主操作機器,B為遠程機器(MYSQL安裝在B上,由A訪問B)
1,在被連接的MYSQL中創(chuàng)建專門的遠程連接用戶wow;

2,修改被連接的MYSQL的配置文件my.cnf,使此MYSQL不僅僅支持本地IP127.0.0.1的監(jiān)聽,也支持其他IP的監(jiān)聽,并重啟Mysql服務(wù),使配置生效。

3,驗證A中MYSQL的配置端口是否與B中的一致(都是3306?),如果一致,通過 mysql -h B的ip -u wow --port=3306 -p,來遠程連接。

下面,就每一步詳細說明一下:
一,在被連接的MYSQL中創(chuàng)建專門的遠程連接用戶wow;
之所以要創(chuàng)建專門的用戶,是因為MYSQL在最初安裝的時候,默認的root帳號以及其他的帳號是僅限于在localhost連接使用的。在遠程機器上即使你用同樣的用戶名及密碼登錄,都無法正常連接。比如你在遠程機器192.168.83.56上用root帳號登錄192.168.11.12機器上的Mysql:
 mysql -h 192.168.11.12 -u root  -p,是無法正常登錄的。此時,需要登錄192.168.11.12機器,進入mysql中的mysql數(shù)據(jù)庫查看user表,確認具體的root權(quán)限,特別是它的host是localhost還是你對應(yīng)的IP,還是%。

解決方法:
A,(在192.168.11.12機器中的MYSQL中創(chuàng)建專門的遠程用戶root或者wow),創(chuàng)建用戶與賦予權(quán)限有兩種方法:
1)改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql后,更改 "mysql" 數(shù)據(jù)庫里的 "user" 表里的 "host" 項,把"localhost"改為"%"。“%”的意思就是所有host都可以訪問。
mysql -u root -p vmware mysql>use mysql; mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
2)授權(quán)法。例如,你想wow使用mypassword從任何主機連接到mysql服務(wù)器的話。
GRANT ALL PRIVILEGES ON *.* TO 'wow'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想只允許用戶wow從ip為192.168.83.56的主機連接到192.168.11.12的mysql服務(wù)器,并使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'wow'@'192.168.83.56' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES
第二句表示從mysql數(shù)據(jù)庫的grant表中重新加載權(quán)限數(shù)據(jù)。因為MySQL把權(quán)限都放在了cache中,所以在做完更改后需要重新加載。
B,在用GRANT授權(quán)法創(chuàng)建完用戶wow并賦予權(quán)限以后,是不是就可以用了?不可以嗎?我們可以簡單驗證一下。先在遠程機器192.168.83.56上 mysql -h 192.168.11.12 -u root  -p,是無法正常登錄。報2003的錯:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.11.12' (111)
什么原因?是賬戶沒有建立成功?權(quán)限設(shè)置問題,還是網(wǎng)絡(luò)配置防火墻等的問題?還是mysql的其他配置問題沒有解決?
先排除帳號與權(quán)限的問題:在localhost(192.168.11.12)機器中,嘗試用wow用戶進入數(shù)據(jù)庫。mysql -u wow -p mypassword,報1045的錯:
ERROR 1045 (28000): Access denied for user 'wow'@'localhost' (using password: YES),
為啥呢?怎么創(chuàng)建的新用戶在本機上都無法登錄MYSQL,難道真是用戶wow沒有創(chuàng)建成功?再查看user表,wow確實已經(jīng)有了啊。一頓糾結(jié),最后找到原因,原來是安裝配置mysql的過程中沒有刪除匿名賬戶,刪除匿名賬戶:
 mysql -u root -p
 mysql>use mysql
 mysql>delete from user where User=' ';
 mysql>quit;
再嘗試    mysql -u wow -p mypassword,wow用戶可以在本機正常登錄了,看來帳號wow是沒有問題的,那再試一下遠程連接:
mysql -h 192.168.11.12 -u root  -p,是無法正常登錄。還報2003的錯:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.11.12' (111),
查看一下errorCode來排查問題:
[mysql@vvmvcs0 ~]$ perror 111
OS error code 111: Connection refused
那難道是網(wǎng)絡(luò)的問題?ping xxx.xxx.xxx.12,可以PING通,那機器是沒問題的??磥硪纯磎ysql的配置文件my.cnf中關(guān)于遠程連接的配置了,這就進入了我們的第二步。。

2,修改被連接的MYSQL的配置文件my.cnf,使此MYSQL不僅僅支持本地IP127.0.0.1的監(jiān)聽,也支持其他IP的監(jiān)聽,并重啟Mysql服務(wù),使配置生效。
主要是兩個配置項:skip_networking或者bind_address,為了取消本地監(jiān)聽,需要在my.cnf中注釋掉關(guān)于這兩項的配置:
正常情況下,mysql占用的3306端口只是在IP 127.0.0.1上監(jiān)聽,拒絕了其他IP的訪問(通過netstat可以查看到)。取消本地監(jiān)聽需要修改 my.cnf 文件:
            sudo vim /etc/mysql/my.cnf
            //找到如下內(nèi)容,并注釋
            bind-address = 127.0.0.1
            然后需要重啟 mysql (可最后再重啟)。sudo mysql stop
現(xiàn)在我們再試一試,在遠程機器192.168.83.56上用如下命令登錄一下192.168.11.12的數(shù)據(jù)庫:mysql -h 192.168.11.12 -u root  -p,還是無法正常登錄。還是報2003的錯。又是什么原因呢?哦,是mysql端口配置是否統(tǒng)一的問題!

3,驗證A中MYSQL的配置端口是否與B中的一致(都是3306?),如果一致,通過 mysql -h B的ip -u wow --port=3306 -p,來遠程連接。
192.168.83.56上的mysql監(jiān)聽端口配置的不是3306,是3308,而192.168.11.12的端口是默認的3306,二者不匹配,如果僅僅在192.168.83.56上用mysql -h 192.168.11.12 -u root  -p來登錄的話,就是去訪問192.168.11.12的3308端口啦,當(dāng)然無法訪問了。我們還需要指定正確的被訪問mysql的端口號:mysql -h 192.168.11.12 -u wow --port=3306 -p。

相關(guān)文章

最新評論

来凤县| 罗甸县| 潞西市| 阿克陶县| 汕尾市| 金乡县| 天镇县| 习水县| 黄山市| 古交市| 铜梁县| 普兰店市| 封丘县| 卓尼县| 罗源县| 镇江市| 高淳县| 龙门县| 玉门市| 北宁市| 兴和县| 鸡泽县| 赣州市| 丹江口市| 湖北省| 同仁县| 青冈县| 山丹县| 沿河| 河间市| 锡林浩特市| 微山县| 关岭| 安龙县| 望奎县| 宝鸡市| 绥化市| 威信县| 犍为县| 内黄县| 河池市|