一、配置MySQL服务器
实现域名远程连接MySQL数据库需先确保服务器允许外部访问。修改MySQL配置文件(如my.cnf
或mysqld.cnf
),将bind-address
参数设置为0.0.0.0
以开放所有网络接口。操作步骤如下:
- 使用命令
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
编辑配置文件 - 找到
bind-address = 127.0.0.1
并修改为bind-address = 0.0.0.0
- 重启MySQL服务:
sudo systemctl restart mysql
同时需创建具有远程访问权限的数据库用户,执行以下SQL命令:
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
FLUSH PRIVILEGES;
二、域名解析配置
域名连接需确保DNS解析正确指向服务器IP:
- 在域名管理平台添加A记录,如将
mysql.example.com
指向服务器公网IP - TTL建议设置为3600秒以保证及时生效
- 可通过
nslookup mysql.example.com
验证解析结果
类型 | 主机 | 值 |
---|---|---|
A | @ | 192.168.1.100 |
三、测试远程连接
使用以下命令通过域名连接数据库:
mysql -h mysql.example.com -u username -p
连接成功后可通过SHOW DATABASES;
命令验证数据库列表。建议使用MySQL Workbench等图形工具测试连接,需填写:
- 主机名:mysql.example.com
- 端口:3306(默认)
- 用户名/密码
四、安全建议
为保障数据库安全,建议实施以下措施:
- 限制用户权限:避免使用
GRANT ALL
,按需分配权限 - 修改默认端口:通过
port=3307
配置减少扫描风险 - 防火墙配置:仅允许特定IP访问3306端口
通过域名远程连接MySQL需完成服务器配置、DNS解析和权限管理三大步骤。该方法既能利用域名易记特性,又需注意网络安全防护,建议结合SSL加密实现更安全的数据传输。