连接远程服务器mysql

mysql默认只可以本地访问,需要修改user表使其允许所有ip进行访问

1
mysql -u name -p

登录数据库

1
use mysql;

切换到mysql数据库

1
select host,user from user;

可以看到root用户对应的host为localhost
paste image

1
update user set host="%" where user="root";

将用户对应的host改为%,表示可以从任何机器进行访问

修改防火墙

要远程连接需要确保3306端口没有被防火墙拦截

1
telnet 你的ip 3306

访问3306端口,如果访问失败,通过以下命令配置防火墙

1
ufw allow 3306

允许访问3306端口

1
ufw status

命令查看当前防火墙状态。

检查端口是否绑定在本地

若修改完防火墙telnet仍然失败,可通过以下命令查看端口状态

1
netstat -apn|grep 3306

显示

1
tcp6 0 0 127.0.0.1:3306 :::* LISTEN 13524/mysqld

说明3306端口被绑定在本地,修改/etc/mysql目录下的my.cnf文件,删除

1
bind-address=127.0.0.1

配置项,或将其改为0.0.0.0