在腾讯云服务器上部署 MySQL 数据库是一个常见且实用的操作,适用于搭建网站、Web 应用或后端服务。以下是详细的部署步骤,适用于 CentOS 或 Ubuntu 系统(以 Ubuntu 20.04 为例)。
一、准备工作
-
购买并登录腾讯云服务器(CVM)
- 登录 腾讯云控制台
- 创建云服务器(CVM),选择合适的地域、操作系统(如 Ubuntu 20.04 / CentOS 7+)
- 获取公网 IP、用户名(如
ubuntu或root)和登录密码/密钥
-
通过 SSH 登录服务器
ssh ubuntu@你的公网IP
二、安装 MySQL
1. 更新系统包
sudo apt update && sudo apt upgrade -y
2. 安装 MySQL 服务器
sudo apt install mysql-server -y
如果是 CentOS/RHEL 系统:
sudo yum install mysql-server -y # 或使用 dnf(CentOS 8+) sudo dnf install mysql-server -y
3. 启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql
CentOS 可能需要先启动服务:
sudo systemctl start mysqld sudo systemctl enable mysqld
三、安全初始化配置
运行 MySQL 安全配置向导:
sudo mysql_secure_installation
根据提示进行以下操作:
- 设置 root 用户密码(推荐强密码)
- 移除匿名用户
- 禁止 root 远程登录
- 删除测试数据库
- 重新加载权限表
四、登录 MySQL 并创建用户(可选)
sudo mysql -u root -p
进入 MySQL 命令行后,可创建新用户并授权:
-- 创建新用户(例如 myuser,密码为 MyPass123!)
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'MyPass123!';
-- 授予数据库权限(例如对 mydb 数据库)
CREATE DATABASE mydb;
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
-- 退出
EXIT;
五、允许远程访问(如需从外部连接)
⚠️ 注意:开放远程访问需谨慎,建议配合安全组限制 IP。
1. 修改 MySQL 配置文件
编辑配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address,将其改为:
bind-address = 0.0.0.0
或者注释掉该行(默认监听所有地址)
2. 重启 MySQL
sudo systemctl restart mysql
3. 创建允许远程连接的用户
CREATE USER 'myuser'@'%' IDENTIFIED BY 'MyPass123!';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%';
FLUSH PRIVILEGES;
六、配置腾讯云安全组
- 进入 腾讯云控制台 → 云服务器 CVM → 安全组
- 找到服务器绑定的安全组,添加入站规则:
- 协议类型:TCP
- 端口:3306
- 源 IP:建议填写你的 IP(如
123.123.123.123/32),或0.0.0.0/0(不推荐,不安全)
七、测试远程连接
使用本地数据库工具(如 Navicat、DBeaver 或 MySQL Workbench)连接:
- 主机:你的腾讯云公网 IP
- 端口:3306
- 用户名:你创建的用户(如
myuser) - 密码:对应密码
八、常见问题排查
| 问题 | 解决方法 |
|---|---|
| 连接被拒 | 检查安全组是否放行 3306 端口 |
| MySQL 未启动 | sudo systemctl status mysql 查看状态 |
| 无法远程登录 | 检查 bind-address 和用户权限('user'@'%') |
| 密码错误 | 使用 ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpass'; 修改 |
九、其他建议
- 定期备份:使用
mysqldump或自动化脚本备份数据 - 使用私有网络:数据库尽量部署在内网,Web 服务器通过内网连接
- 考虑云数据库:腾讯云提供 云数据库 MySQL(CDB),更稳定、自动备份、高可用,适合生产环境
参考文档
- 腾讯云官方文档:https://cloud.tencent.com/document/product/213
- MySQL 官方文档:https://dev.mysql.com/doc/
如果你希望使用 Docker 部署 MySQL,也可以告诉我,我可以提供 Docker 方式部署的步骤。
CLOUD技术博