在阿里云上新装一台Ubuntu后,安装了mysql,但是mysql只能在本地连接,无法远程。在网上查找资料后,做出了以下修改。
1、更改mysql监听的ip地址
首先,查看mysql监听IP和端口是否正常。
使用:netstat -anpt 命令
监听得地址如果是:::3306或者是0.0.0.0:3306,表示监听所有IP地址,这监听状态是正常。若出现127.0.0.0:3306或没有3306,则需要在mysql配置文件中修改,重启mysql。
进入mysql配置文件夹,修改mysqld.cnf (不同版本的mysql配置文件路径可能不一样)
vi /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address = 127.0.0.1 注释掉
2、设置用于远程访问的mysql用户权限
在本地登入mysql服务器,
use mysql;
SELECT user, host from mysql.user; 查看用于远程访问的mysql用户host的权限,%表示允许所有机器访问。若host为127.0.0.1/localhost,那么这个用户就只能本机访问,则需要将host改为%,可以使用update user set host='%' where user='root';