MySQL本地可以连接,远程连接不上的解决

1.原因分析

在服务器上安装好了mysql server。启动服务之后,通过 mysql -u 用户名 -p 密码,可以正常的连接,但是在其他的机器上连接不上。

出现这种问题的原因可能有两点:
1.1 mysql安装好后,默认只对127.0.0.1的本机开放,没有对远程的主机开放。

解决办法:

(1)找到默认的mysql的配置文件,一般为 /etc/mysql/mysql.cnf 或者 /etc/mysql/mysql.conf.d/mysql.cnf

(2)找到 bind-address=  这个选项 ,修改为  bind-address = 0.0.0.0 (或者根据自己的安全需求,修改为相应的开放的ip地址)

(3)重启mysql服务器 (/etc/init.d/mysql stop  /etc/init.d/mysql start)
1.2 用户的权限配置配置正确,用户没有权限在远程登录mysql服务器

解决的办法和相关分析见: https://dev.mysql.com/doc/refman/8.0/en/grant.html

案例:

CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON db1.* TO 'jeffrey'@'localhost';
GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost';
ALTER USER 'jeffrey'@'localhost' WITH MAX_QUERIES_PER_HOUR 90;
SHOW GRANTS FOR 'jeffrey'@'localhost';

你可能感兴趣的:(阿里云ECS服务器搭建,mysql)