ubuntu下mysql 不能远程连接报错为10038

1.环境

Ubuntu 16.04 ,mysql 5.7, navicat远程工具

2.啥都装好了,为啥远程就不行呢?难道还要配置啥?

(1.)需要配置my.cnf

  mysql寻找配置文件顺序:/etc/mysql/my.cnf  ----> /etc/my.cnf ---> /home/yourname/.my.cnf

  将/etc/mysql/mysql.conf.d/mysqld.conf 复制到/etc/mysql/my.cnf 并重命名为my.cnf

  再用navicat工具试下还是报错。。。

 (2)在修改修改配置文件试下

  将bind-address = 127.0.0.1 修改为 bind-address = 0.0.0.0 (表示任意的地址都可以访问),修改ok之后需要重新启动mysql。

  还是有可能报错10038.。。。

  (3)在Linux端登录mysql数据库:mysql -uuname -ppassword (默认root用户不能远程登陆)
  mysql> use mysql;
  查询host值:
  mysql> select user,host from user;


  如果没有"%"这个host值,就执行下面这两句:
  mysql> update user set host='%' where user='root';
  mysql> flush privileges;

  还是有可能报错10038.。。。

(4)让ubuntu的防火墙允许3306端口出去

    sudo ufw allow 3306

    sudo ufw reload

(5)在navicat登陆应该就可以了。

原文地址:https://www.cnblogs.com/L-Lune/p/8618190.html