配置文件远程访问设置
实现远程附加数据库的第一步是修改数据库服务的绑定地址。以MySQL为例,需编辑配置文件(my.cnf或my.ini),将bind-address=127.0.0.1
改为bind-address=0.0.0.0
以允许所有IP访问,修改完成后需重启服务使其生效。
- 定位配置文件路径(Linux系统通常在/etc/mysql/目录)
- 使用文本编辑器修改bind-address参数
- 保存文件并重启服务:
systemctl restart mysql
数据库用户权限管理
需为远程用户创建独立账户并授予精确权限,避免直接使用root账户。通过以下SQL语句实现:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password';
GRANT SELECT,INSERT ON dbname.* TO 'remote_user'@'%';
FLUSH PRIVILEGES;
其中%
表示允许任意IP连接,也可替换为具体IP地址以提高安全性。
防火墙与网络安全配置
需在服务器防火墙开放数据库端口(如MySQL默认3306端口),推荐使用以下策略:
- 仅允许特定IP访问:
sudo ufw allow from 192.168.1.100 to any port 3306
- 云服务器需配置安全组规则,开放对应端口
- 定期检查异常连接日志
最小化权限原则
应遵循权限最小化原则:
- 避免授予
ALL PRIVILEGES
全局权限 - 按需分配库/表级别的操作权限(SELECT/INSERT/UPDATE)
- 生产环境禁用匿名账户
远程数据库权限设置需从网络层、服务层、账户层实施三重防护,通过绑定地址修改、精确权限分配、防火墙规则配置形成完整安全链条,同时遵循最小权限原则降低安全风险。