要在Linux上实现MySQL的远程连接,你需要按照以下步骤操作:
配置MySQL服务器:
/etc/mysql/mysql.conf.d/mysqld.cnf或/etc/my.cnf。bind-address这一行,它决定了MySQL服务器监听的网络地址。将其值改为0.0.0.0或者注释掉这一行(默认就是监听所有网络接口),以允许来自任何IP地址的连接。# bind-address = 127.0.0.1
sudo systemctl restart mysql
创建远程用户并授权:
mysql -u root -p
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
这里username是你要创建的用户名,%表示允许从任何IP地址连接。如果你想限制特定的IP地址,可以将%替换为具体的IP地址。GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%';
将database_name替换为你想要用户访问的数据库名称。FLUSH PRIVILEGES;
EXIT;
配置防火墙:
iptables的话,可以添加如下规则:sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
ufw,则可以这样添加规则:sudo ufw allow 3306/tcp
测试远程连接:
mysql -h your_linux_server_ip -u username -p
将your_linux_server_ip替换为你的Linux服务器的IP地址,username替换为你之前创建的用户名。请注意,出于安全考虑,不建议允许从任何IP地址(%)进行远程连接。最好是指定具体的IP地址或者IP地址范围。此外,确保你的MySQL用户密码足够复杂,以防止未授权访问。