配置MySQL的权限:
- 打开MySQL的配置文件
my.cnf或my.ini(windows)
。 - 在配置文件中,在[mysqld]下找到
bind-address
选项,如果没有就新加一行,并将其值改为0.0.0.0
。这将允许MySQL监听所有可用的IP地址,也可以修改为指定ip地址,多个ip用逗号隔开。 - 保存并关闭
my.cnf
文件后,重新启动MySQL服务。
[mysqld]
...
bind-address = 0.0.0.0
...
创建MySQL用户并授权
使用类似CREATE USER 'username'@'%' IDENTIFIED BY 'password';
的语句来创建用户,其中%
表示允许任何IP地址的主机连接到MySQL服务器。如果只想允许特定IP地址的主机连接,可以将%
替换为具体的IP地址或域名。
使用GRANT
语句授予用户相应的权限,以便他们能够远程访问MySQL数据库。例如,GRANT ALL ON database_name.* TO 'username'@'%';
将授予用户对指定数据库的全部权限。FLUSH PRIVILEGES; 重新加载授权表。
防火墙设置
#对于firewalld(某些Linux发行版,如CentOS 7+):
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
#对于iptables(Linux):
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
sudo service iptables save # 保存规则,以便在系统重启后仍然有效
#对于ufw(Ubuntu上的无复杂防火墙):
sudo ufw allow 3306/tcp