Ubuntu 16.04.2 LTS mysql 远程连接异常

1.先ping ~看看是否能通
 2.telnet 192.168.5.1 3306 端口是否能通
 3.设置服务器MySQL的远程访问
    mysql -uroot -p
    use mysql
    update mysql.user set host='%'where user='root';
    flush privileges;
4. 设置mysql 3306端口的绑定ip
  修改Mysql配置文件(注意路径,跟之前网上的很多版本位置都不一样)
  
vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到

注释掉这一行

重启Mysql

/etc/init.d/mysql restart

 

 

4.仍然不行,检查防火墙状态,观察防火墙是否开启
     systemctl status firewalld.service

 上图显示防火墙没有开启

防火墙开启: 开放3306端口

1)iptables --list查看;
   2)开启防火墙3306端口
     vi /etc/sysconfig/iptables
     -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙) 
     /etc/init.d/iptables restart(重启防火墙使配置生效)
   3)或者直接关闭防火墙;   参考:http://blog.csdn.net/fjssharpsword/article/details/50973283
   centos 7 以后是修改 firewall
  systemctl start firewalld # 启动,

  systemctl enable firewalld # 开机启动

  systemctl stop firewalld # 关闭

  systemctl disable firewalld # 取消开机启动

 

5、mysql配置文件检查
   检查my.cnf的配置,bind-address=addr可以配置绑定ip地址。
   不配置或者IP配置为0.0.0.0,表示监听所有客户端连接。
   #ps -aux | grep mysql  查看进程ID是3340
   #ll /proc/3340 查看进程程序情况,找配置文件
   或者#which mysql 找程序路径

posted @ 2023-06-12 15:06  贾斯丁哔哔  阅读(51)  评论(0)    收藏  举报