一、連接遠(yuǎn)程數(shù)據(jù)庫(kù):
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、魯?shù)榫W(wǎng)絡(luò)推廣、小程序定制開發(fā)、魯?shù)榫W(wǎng)絡(luò)營(yíng)銷、魯?shù)槠髽I(yè)策劃、魯?shù)槠放乒P(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供魯?shù)榻ㄕ?/a>搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
1、顯示密碼
如:MySQL 連接遠(yuǎn)程數(shù)據(jù)庫(kù)(192.168.5.116),端口“3306”,用戶名為“root”,密碼“123456”
C:/mysql -h 192.168.5.116 -P 3306 -u root -p123456
2、隱藏密碼
如:MySQL 連接本地?cái)?shù)據(jù)庫(kù),用戶名為“root”,
C:/mysql -h localhost -u root -p
Enter password:
二、配置mysql允許遠(yuǎn)程鏈接
默認(rèn)情況下,mysql帳號(hào)不允許從遠(yuǎn)程登陸,只能在localhost登錄。本文提供了二種方法設(shè)置mysql可以通過(guò)遠(yuǎn)程主機(jī)進(jìn)行連接。
一、改表法
在localhost登入mysql后,更改 "mysql" 數(shù)據(jù)庫(kù)里的 "user" 表里的 "host" 項(xiàng),將"localhost"改稱"%"
例如:
#mysql -u root -p
Enter password:
……
mysql
mysqlupdate user set host = '%' where user = 'root';
mysqlselect host, user from user;
二、授權(quán)法
例如: 你想myuser使用mypassword(密碼)從任何主機(jī)連接到mysql服務(wù)器的話。
mysqlGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機(jī)連接到mysql服務(wù)器,并使用mypassword作為密碼
mysqlGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
mysqlFLUSH PRIVILEGES
使修改生效,就可以了
常見問(wèn)題:
1、在采用法二授權(quán)法之后,無(wú)法在本地登錄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是主機(jī)名.
解決方法:
1、這時(shí)可以使用: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
1,打開命令行
2,使用root用戶登錄mysql:
mysql -u root -p"這里輸root用戶的mysql密碼"
3,進(jìn)行授權(quán)操作,比如允許ip為111.111.111.111的遠(yuǎn)程用戶登錄,那就輸入語(yǔ)句
GRANT ALL PRIVILEGES ON *.* TO root@"111.111.111.111" IDENTIFIED BY "遠(yuǎn)程用戶登錄的密碼,自己設(shè)一個(gè)" WITH GRANT OPTION;
4,重載授權(quán)表:輸入語(yǔ)句
FLUSH PRIVILEGES;
這就ok了,那就可以遠(yuǎn)程用root用戶,和你設(shè)置的遠(yuǎn)程登錄密碼連接mysql了
第一:更改 “mysql” 數(shù)據(jù)庫(kù)里的 “user” 表里的 “host” 項(xiàng),從”localhost”改稱'%'。 \x0d\x0a或者新加條記錄,“host” 項(xiàng)為要訪問(wèn)的ip地址,并授權(quán)。重啟mysql服務(wù)。 \x0d\x0a第二:在系統(tǒng)防火墻添加例外端口:3306,并允許例外。 \x0d\x0a\x0d\x0a錯(cuò)誤提示: \x0d\x0aERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server \x0d\x0a的解決方法: \x0d\x0a1。改表法??赡苁悄愕膸ぬ?hào)不允許從遠(yuǎn)程登陸,只能在localhost。這個(gè)時(shí)候只要在localhost的那臺(tái)電腦,登入mysql后,更改 "mysql" 數(shù)據(jù)庫(kù)里的 "user" 表里的 "host" 項(xiàng),從"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從任何主機(jī)連接到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的主機(jī)連接到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庫(kù) \x0d\x0a第三句:查看mysql庫(kù)中的user表的host值(即可進(jìn)行連接訪問(wèn)的主機(jī)/IP名稱) \x0d\x0a第四句:修改host值(以通配符%的內(nèi)容增加主機(jī)/IP地址),當(dāng)然也可以直接增加IP地址 \x0d\x0a第五句:刷新MySQL的系統(tǒng)權(quán)限相關(guān)表 \x0d\x0a第六句:再重新查看user表時(shí),有修改。。 \x0d\x0a重起mysql服務(wù)即可完成。
首先我們?cè)趌inux系統(tǒng)上安裝mysql,本文默認(rèn)linux系統(tǒng)可以聯(lián)網(wǎng)或者已經(jīng)掛載光盤iso了,我們使用命令 apt-get install mysql-server 命令進(jìn)行安裝,安裝完成后,查看mysql是否啟動(dòng),執(zhí)行命令 ps -e |grep mysql。
請(qǐng)點(diǎn)擊輸入圖片描述
驗(yàn)證初始是否允許遠(yuǎn)程連接,由于本次虛擬機(jī)IP為192.168.2.120,因此我們執(zhí)行mysql -h 192.168.20.120 -P 3306 -u root -proot(備注:-proot,root指root賬號(hào)的密碼),可以得到結(jié)果連接不上。
假如我們不采用遠(yuǎn)程連接,可以連接上,命令為:mysql -u root -proot。
請(qǐng)點(diǎn)擊輸入圖片描述
請(qǐng)點(diǎn)擊輸入圖片描述
接下來(lái),我們連接上數(shù)據(jù)庫(kù),執(zhí)行命令use mysql;使用mysql數(shù)據(jù)庫(kù)。
并查看用戶表信息,執(zhí)行命令為:select Host,User from user。
執(zhí)行結(jié)果如下圖所示。
請(qǐng)點(diǎn)擊輸入圖片描述
通過(guò)上面步驟可以得到數(shù)據(jù)表 user內(nèi)的值,下面我們對(duì)表進(jìn)行更新記錄允許遠(yuǎn)程訪問(wèn),
執(zhí)行命令為:update user set Host='%' where User ='root' limit 1;
(該條命令意思為更新user表內(nèi)User值為root的第一條記錄的Host值設(shè)置為%)更新完成后,執(zhí)行上一步查詢命令進(jìn)行驗(yàn)證
請(qǐng)點(diǎn)擊輸入圖片描述
執(zhí)行強(qiáng)制刷新命令flush privileges;
執(zhí)行完畢后,關(guān)閉數(shù)據(jù)庫(kù)連接。
請(qǐng)點(diǎn)擊輸入圖片描述
更改mysql安裝目錄下的my.cnf文件。
一般默認(rèn)路徑在/etc/mysql/下,找到bind-address = 127.0.0.1 這一行,可以對(duì)其進(jìn)行刪除,注釋或者將127.0.0.1更改為0.0.0.0,修改完畢后保存。
請(qǐng)點(diǎn)擊輸入圖片描述
重啟mysql,命令為service mysql restart。進(jìn)行遠(yuǎn)程登陸測(cè)試,可以看到已經(jīng)允許遠(yuǎn)程連接了。
請(qǐng)點(diǎn)擊輸入圖片描述
1、改表法。
可能是你的帳號(hào)不允許從遠(yuǎn)程登陸,只能在localhost。這個(gè)時(shí)候只要在localhost的那臺(tái)電腦,登入mysql后,更改 "mysql" 數(shù)據(jù)庫(kù)里的 "user" 表里的 "host" 項(xiàng),從"localhost"改稱"%"
mysql -u root -pvmwaremysqluse 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' WI
TH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機(jī)連接到mysql服務(wù)器,并使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
我用的第一個(gè)方法,剛開始發(fā)現(xiàn)不行,在網(wǎng)上查了一下,少執(zhí)行一個(gè)語(yǔ)句 mysqlFLUSH RIVILEGES
使修改生效,就可以了
另外一種方法:
在安裝mysql的機(jī)器上運(yùn)行:
1、d:\mysql\bin\mysql -h localhost -u root
//這樣應(yīng)該可以進(jìn)入MySQL服務(wù)器
2、mysqlGRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
//賦予任何主機(jī)訪問(wèn)數(shù)據(jù)的權(quán)限
3、mysqlFLUSH PRIVILEGES
//修改生效
4、mysqlEXIT
//退出MySQL服務(wù)器
這樣就可以在其它任何的主機(jī)上以root身份登錄啦。