Ubuntu 下开放 mysql 访问


Ubuntu 下开放 mysql 访问

  • 问题: 本机可以通过3306端口连接mysql服务器,但远程不行。

本机通过telnet 用ip访问3306也失败

1
telnet 172.21.11.111 3306
  • 排查:
  1. 网络检测

ping 主机可以

telnet 主机22端口可以

说明连接主机网络没问题

  1. 防火墙检测

Ubuntu上没有关闭iptables的命令,暂时开放所有端口。

1
2
iptables -P OUTPUT ACCEPT
iptables -P INPUT ACCEPT

可检查防火墙的状态

1
sudo ufw status

关闭防火墙

1
sudo ufw disable
  1. mysql配置

打开mysql配置文件

1
vim /etc/mysql/mysql.conf.d/mysqld.cnf

将bind-address = 127.0.0.1注销

mysql用户访问权限

1
2
3
4
5
mysql -u root -p
>use mysql;
>select host,user from user;
>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxxxxx' WITH GRANT OPTION; # xxxxxxx 为 mysql root 密码
>flush privileges;