本文通過兩種方法給大家介紹MySQL數據庫遠程訪問權限的打開方法,非常不錯,實用性非常高,感興趣的朋友一起看看
下載GPL版本安裝
MySQL Community Edition(GPL)
Community (GPL) Downloads ?
在我們使用mysql數據庫時,有時我們的程序與數據庫不在同一機器上,這時我們需要遠程訪問數據庫。缺省狀態下,mysql的用戶沒有遠程訪問的權限。
查看mysql遠程訪問是否開啟?
這個不知道你定義的是指哪方面? (如果是單檢查網絡方面的,可以檢查參數)
mysql> show variables like '%skip_networking%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| skip_networking | OFF |
+-----------------+-------+
1 row in set (0.00 sec)
mysql>
若為on則表示沒開通網絡連接,只能本機訪問.
看下服務器的配置文件 my.cnf 或者 win環境下的my.ini配置文件下
[mysqld]
skip-networking 這個選項打開沒
默認是不打開的 不打開的時候你可以用遠程鏈接。。。
netstat -an | grep 3306
就可以查到允許訪問的主機ip 如果是0.0.0.0就表示允許所有的ip連接
下面介紹兩種方法,解決 遠程訪問權限 這一問題。
1、改表法
可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql后,更改 "mysql" 數據庫里的 "user" 表里的 "host" 項,從"localhost"改稱"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2、授權法
在安裝mysql的機器上運行:
1、d:\mysql\bin>mysql -h localhost -u root
//這樣應該可以進入MySQL服務器
2、mysql>GRANT ALL PRIVILEGES ON . TO 'root'@'%'WITH GRANT OPTION
//賦予任何主機訪問數據的權限
例如,你想myuser使用mypassword從任何主機連接到mysql服務器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql服務器,并使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
退出MySQL服務器,這樣就可以在其它任何的主機上以root身份登錄
以上所述是小編給大家介紹的MySQL數據庫遠程訪問的權限如何打開,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!