Linux下設定MySQL和允許外部機器訪問sudo vi /etc/my.cnf
具體目錄是具體情況而定,有的人是安裝了在個人目錄下,則找到對應的目錄則可以。
一、設定檔的修改
1.#sudo vim /etc/mysql/my.conf
找到 bind-address = 127.0.0.1
注釋掉這句話
二、Mysql資料庫的修改
1) [root@etc etc]# mysql -u root -p
Enter password:
2)grant all privileges on database.* to admin@192.168.1.1 identified by 'password'
注意:
(1)192.168.1.1是欲串連到此Mysql資料庫的用戶端的IP地址,而不是Mysql資料庫所在資料庫伺服器的IP地址,切記
(2)password就是Mysql資料庫root使用者的password,根據實際情況需要修改
如何訪問Linux系統中的MySQL資料庫?
前不久在Linux系統中安裝了MySQL資料庫,但Linux系統是一個虛擬機器,而真正的主機是Win7,我就試著在Win7下面用MySQL資料庫工具去訪問Linux系統下的MySQL資料庫。但在串連的過程中就出現了問題:
Host '192.168.0.101' is not allowed to connect to this MySQL server
然後我百度了一下這個問題,找到了以下的幾種解決辦法。
方法一:(修改表)
進入Linux系統下的mysql資料庫中,開啟user表,找到“host”欄位值為“localhost”的記錄,將值“localhost”更新為“%”。
命令如下:
#mysql -u root -p
Enter password:
mysql>use mysql;
mysql>update user set host='%' where user='root' and host='localhost';
mysql>select host,user from user;
方法二:(授權)
例1
如果你想myuser使用mypassword從任何主機串連到MySQL資料庫伺服器的話。使用如下授權權命令:
GRANT ALL PRIVILEGES ON *.* TO [email='myuser'@'%']%27myuser%27@%27%%27[/email] IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
例2
如果你想允許使用者myuser從IP為192.168.0.101的主機串連到MySQL資料庫伺服器並使用mypassword作為密碼。使用如下授權命令:
GRANT ALL PRIVILEGES ON *.* TO [email='myuser'@'192.168.0.101']%27myuser%27@%27192.168.0.101%27[/email] IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
以上兩種方法是從網上找的。本人通過第二種方法中的例1解決了我所遇到的問題,並成功串連了Linux系統中的MySQL資料庫伺服器。