Ubuntu 下 MySQL 8.0 远程账户访问
以默认的3306 端口为例,需要满足以下条件:
- 确保你的主机相关端口能访问,防火墙放开 3306 端口的远程访问,如果你用的是云服务,比如阿里云 ECS,需要修改你的 ECS 的安全策略组,放开对应端口的访问限制;
- 确保你的 MySQL 配置绑定的IP是能够在远程访问的IP,Ubuntu 20.04 为例,默认的配置文件在
/etc/mysql/mysql.conf.d/mysqld.cnf 将 bind-address 改为 0.0.0.0 即可; - 确保你有一个可以远程访问的账户,MySQL 8.0 创建远程账户:
create user `user001`@'%' identified by 'YourPassword@123';
grant all privileges on *.* to `user001`@'%' with grant option;
flush privileges;
很多人 1、3 两条都搞定了,也测试了 telnet 主机IP 3306 能通,但第 2 步忽略了。
注意第二步修改后需要重启:
service mysql restart
修改后查看确认一下:
cat /etc/mysql/mysql.conf.d/mysqld.cnf | grep bind
bind-address = 0.0.0.0
mysqlx-bind-address = 127.0.0.1