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登陆应该就可以了。