1.首先确认ubuntu防火墙是否开启,一般默认安装后的ubuntu系统都不会有防火墙这个功能。如果安装了防火墙功能,就需要设置防火墙开放3306端口。
安装ufw防火墙:
sudo apt update
sudo apt install ufw
允许ufw通过3306端口:
sudo ufw allow 3306
如果只允许某个IP地址:
sudo ufw allow from 192.168.1.100
关闭ufw:开启就是enable。
sudo ufw disable
检查ufw:
sudo ufw status
2.回到正题,配置MySQL文件。
找到两个路径,分别修改两个配置,提前确保MySQL默认安装路径。
root@ubuntumysql:/etc/mysql/mysql.conf.d# vim mysqld.cnf
root@ubuntumysql:/etc/mysql/mariadb.conf.d# vim 50-server.cnf
修改bind-address,我一般填写0.0.0.0,开发给所有人。你也可以写多个bind-address,绑定多个IP地址,只允许个别人使用。
bind-address = 0.0.0.0
3.最后重启MySQL
sudo systemctl restart mysql
4.最简单的测试,拿一台windows10系统的电脑,CMD中telnet一下,看连不连得上。
5.连不上的话,就可能需要设置MySQL账号的权限。
登录MySQL的root账号:
mysql -u root -p
修改已使用账号的权限:
GRANT ALL PRIVILEGES ON database_name.* TO '你的账号'@'%' IDENTIFIED BY '账号的密码';
刷新权限:
FLUSH PRIVILEGES;
检查一下权限:
SELECT user, host FROM mysql.user;