mysql外網訪問許可權
允許root用戶在任何地方進行遠程登錄,並具有所有庫任何操作許可權,具體操作如下:
1.在本機先使用root用戶登錄mysql:
mysql -u root -p"youpassword"
2.進行授權操作:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
3.重載授權表:
FLUSH PRIVILEGES;
4.退出mysql資料庫:
exit
B. MySql資料庫 本地網路內的電腦能連接,外網IP不能連接
/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 將其注釋掉;//作用是使得不再只允許本地訪問;
重啟mysql:/etc/init.d/mysql restart;
2:登錄mysql資料庫:mysql -u root -p
mysql> use mysql;
查詢host值:
mysql> select user,host from user;
如果沒有"%"這個host值,就執行下面這兩句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
或者也可以執行:
mysql>grand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一個*表示資料庫名;第二個*表示該資料庫的表名;如果像上面那樣 *.*的話表示所有到資料庫下到所有表都允許訪問;
『%':表示允許訪問到mysql的ip地址;當然你也可以配置為具體到ip名稱;%表示所有ip均可以訪問;
後面到『xxxx'為root 用戶的password;
C. 怎麼設置才能讓外網ip可以訪問mysql資料庫
整體簡介:
為了安全起見默認情況下Mysql資料庫的監聽地址是127.0.0.1,就是指本機下的程序才能訪問。
監聽地址是0.0.0.0 ,表示該mysql允許所有IP地址進行連接,這是允許遠程連接的基礎
監聽地址是127.0.0.1,則代表該mysql只允許所在伺服器本機連接,外網是無法連接的
所需工具原料:
Linux,apache,php,mysql
解決方法:
1. 用命令vi 編輯/etc/mysql/my.cnf 如圖:
3. 重啟服務
service mysqld restart
4. Linux伺服器中執行如下命令可以查看: netstat -nutlp|grep mysql(只查看mysql的監聽), netstat -tln(查看所有的監聽)是否成功。
D. 如何設置mysql允許外網訪問
mysql的root賬戶,我在連接時通常用的是localhost或127.0.0.1,公司的測試伺服器上的mysql也是localhost所以我想訪問無法訪問,測試暫停.
解決方法:
1,修改表,登錄mysql資料庫,切換到mysql資料庫,使用sql語句查看"select host,user from user ;"
mysql -u root -pvmwaremysqluse mysql;
mysqlupdate user set host = '%' where user ='root';
mysqlselect host, user from user;
mysqlflush privileges;注意:最後一句很重要,目的是使修改生效.如果沒有寫,則還是不能進行遠程連接.
2,授權用戶,你想root使用密碼從任何主機連接到mysql伺服器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'admin123' WITH GRANT OPTION;
flush privileges;
如果你想允許用戶root從ip為192.168.1.104的主機連接到mysql伺服器