mysql默认只可以本地访问,需要修改user表使其允许所有ip进行访问1
mysql -u name -p
登录数据库
1 | use mysql; |
切换到mysql数据库
1 | select host,user from user; |
可以看到root用户对应的host为localhost
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