查看mysql數(shù)據(jù)庫(kù)連接地址的步驟如下:
創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營(yíng)銷、網(wǎng)站重做改版、昆都侖網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、成都商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為昆都侖等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
我們需要準(zhǔn)備的材料分別是:電腦、mysql查詢工具
1、首先,打開mysql查詢工具。
2、鼠標(biāo)右擊要查看的mysql連接,點(diǎn)擊“編輯連接”按鈕。
3、此時(shí)可以看到mysql連接的主機(jī)名或IP地址,以及端口號(hào)。
是root用戶的話,IP就是localhost或127.0.0.1,只是代表使用本機(jī),不是代表本機(jī)IP地址,操作方法如下:
1、首先,利用Navicat創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)和表,數(shù)據(jù)庫(kù)名為testdb,表為userinfo,并添加一條新記錄。
2、用如下的數(shù)據(jù)庫(kù)連接字符串訪問數(shù)據(jù)庫(kù)時(shí),是沒有問題的。Driver = MySQL ODBC 5.1 Driver; Server = localhost; Port=3306; DATABASE = testdb; user = root; password = 123456。
3、其中,Server是數(shù)據(jù)庫(kù)所在主機(jī)IP地址,Prot是連接端口;user和password則為連接數(shù)據(jù)庫(kù)的用戶名和密碼,使用Select * from userinfo 可以正確獲取到數(shù)據(jù)。
4、但是當(dāng)把localhost換成實(shí)際的IP地址的時(shí)候,就報(bào)錯(cuò)了,說(shuō)明這個(gè)數(shù)據(jù)庫(kù)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)建一個(gè)新賬戶,如guest,并將可被訪問的主機(jī)定義為%,即所有主機(jī)都可訪問該賬戶。測(cè)試,沒有問題。
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;
設(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ù)庫(kù):mysql -u root -p
mysql use mysql;
查詢host值:
mysql select user,host from user;
如果沒有"%"這個(gè)host值,就執(zhí)行下面這兩句:
mysql update user set host='%' where user='root';
mysql flush privileges;
或者也可以執(zhí)行:
mysqlgrand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一個(gè)*表示數(shù)據(jù)庫(kù)名;第二個(gè)*表示該數(shù)據(jù)庫(kù)的表名;如果像上面那樣 *.*的話表示所有到數(shù)據(jù)庫(kù)下到所有表都允許訪問;
‘%':表示允許訪問到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;
1.改表法??赡苁悄愕膸ぬ?hào)不允許從遠(yuǎn)程登陸,只能在localhost。這個(gè)時(shí)候只要在localhost的那臺(tái)電腦,登入mysql后,更改 "mysql" 數(shù)據(jù)庫(kù)中 "user" 表里的 "host" 字段,把"localhost"改稱"%",即可。
mysql -u root -pvmwaremysqluse mysql;mysqlupdate user set host = '%' where user = 'root';mysqlselect host, user from user;
2.授權(quán)法。例如,你想用戶myuser使用密碼mypassword通過ip地址連接到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;