linux下mysql開啟遠程訪問權限及防火牆開放3306端口


https://blog.csdn.net/WeakFantasy/article/details/52348829?locationNum=10

在Linux中裝上mysql之后,發現windows中用navicat連接數據庫失敗,這是由於默認mysql的用戶是沒有遠程訪問的權限的,因此當navicat程序跟mysql數據庫不在同一台服務器上時,我們需要開啟mysql的遠程訪問權限才能正常訪問mysql數據庫。

主要的有兩種方法,改表法和授權法,下面將分別介紹。

 

1、登陸mysql

 

[java] view plain copy
  1. mysql -u root -p  

2、改表法:修改mysql庫的user表,將host項,從localhost改為%。%這里表示的是允許任意host訪問,如果只允許某一個ip訪問,則可改為相應的ip,比如可以將localhost改為192.168.1.123,這表示只允許局域網的192.168.1.123這個ip遠程訪問mysql。

 

[java] view plain copy
  1. mysql> USE MYSQL;   
  2. mysql> UPDATE USER SET host = '%' WHERE user = 'root';   

3、授權法:

 

[java] view plain copy
  1. mysql> USE MYSQL;  
  2. mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //賦予任何主機訪問以及修改所有數據的權限   
  3. 例如,你想root用戶使用root從任何主機連接到mysql服務器的話。  
  4. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;   
  5. 如果你想允許用戶root從ip為192.168.1.123的主機連接到mysql服務器,並使用root作為密碼   
  6. GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.123'IDENTIFIED BY 'root' WITH GRANT OPTION;   
  7. mysql> FLUSH PRIVILEGES //修改生效   


防火牆開放3306端口

1、打開防火牆配置文件

 

[java] view plain copy
  1. vi  /etc/sysconfig/iptables  

 

?

2、增加下面一行

[java] view plain copy
  1. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT  

 

?

3、更改后的防火牆配置文件

 

[java] view plain copy
  1. # Firewall configuration written by system-config-firewall  
  2. # Manual customization of this file is not recommended.  
  3. *filter  
  4. :INPUT ACCEPT [0:0]  
  5. :FORWARD ACCEPT [0:0]  
  6. :OUTPUT ACCEPT [0:0]  
  7. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  
  8. -A INPUT -p icmp -j ACCEPT  
  9. -A INPUT -i lo -j ACCEPT  
  10. -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  
  11. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT  
  12. -A INPUT -j REJECT --reject-with icmp-host-prohibited  
  13. -A FORWARD -j REJECT --reject-with icmp-host-prohibited  
  14.   
  15. COMMIT  

4、保存后重啟防火牆

[java] view plain copy
  1. service  iptables restart  

 

?

注意:增加的開放3306端口的語句一定要在icmp-host-prohibited之前,否則將仍不能進行訪問。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM