在腾讯云服务器上部署 MySQL 数据库是一个常见且重要的操作,适用于 Web 应用、后端服务等场景。以下是详细的部署步骤,适用于 腾讯云 CVM(云服务器),操作系统为 Ubuntu 20.04 / 22.04 或 CentOS 7/8。
✅ 一、准备工作
-
购买腾讯云 CVM 实例
- 登录 腾讯云控制台
- 购买一台云服务器(CVM),建议配置:
- 操作系统:Ubuntu 20.04 LTS / CentOS 7.6 64位
- 带宽:1Mbps 或更高
- 安全组:放行 SSH(22端口)和 MySQL(3306端口)
-
登录服务器
ssh root@你的公网IP
✅ 二、安装 MySQL(以 Ubuntu 为例)
1. 更新系统包
sudo apt update && sudo apt upgrade -y
2. 安装 MySQL 服务器
sudo apt install mysql-server -y
3. 启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql
4. 运行安全配置向导(推荐)
sudo mysql_secure_installation
- 设置 root 密码
- 移除匿名用户
- 禁止 root 远程登录
- 删除测试数据库
- 重新加载权限
⚠️ 注意:首次安装后,MySQL 8 默认使用
caching_sha2_password插件,部分客户端可能不兼容,可考虑修改为mysql_native_password(可选)。
✅ 三、配置远程访问(如需X_X连接)
1. 修改 MySQL 配置文件
编辑 MySQL 配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
或 Ubuntu 22.04+:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address,将其改为:
bind-address = 0.0.0.0
或注释掉该行(默认监听所有地址)
2. 重启 MySQL
sudo systemctl restart mysql
3. 创建远程访问用户(进入 MySQL)
sudo mysql -u root -p
执行以下 SQL:
-- 创建新用户(推荐,不建议 root 远程登录)
CREATE USER 'myuser'@'%' IDENTIFIED BY 'StrongPassword123!';
-- 授予权限(如所有权限)
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;
🔐 建议:生产环境不要用
root远程登录,限制 IP 范围,如'myuser'@'123.123.123.%'
✅ 四、配置腾讯云安全组
- 登录腾讯云控制台
- 进入 CVM 实例详情页 → 安全组
- 添加入站规则:
- 协议类型:TCP
- 端口:3306
- 源 IP:0.0.0.0/0(测试用)或指定 IP(生产建议限制)
⚠️ 开放 3306 到公网有安全风险,建议结合 SSH 隧道或私有网络使用。
✅ 五、测试连接
本地测试
mysql -u myuser -p -h 127.0.0.1
外部工具连接(如 Navicat、DBeaver)
- 主机:你的公网 IP
- 端口:3306
- 用户名:myuser
- 密码:StrongPassword123!
✅ 六、(可选)开启慢查询、日志等优化
编辑配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
添加:
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 2
log_error = /var/log/mysql/error.log
重启 MySQL:
sudo systemctl restart mysql
✅ 七、备份与监控建议
- 使用
mysqldump定期备份 - 配置监控(如腾讯云云监控、Prometheus + Grafana)
- 使用 腾讯云数据库 MySQL(TencentDB for MySQL) 托管服务更省心(推荐生产环境)
✅ 常见问题
| 问题 | 解决方法 |
|---|---|
| 连接被拒绝 | 检查 bind-address、防火墙、安全组 |
| 用户权限不足 | 检查用户 host 是否为 %,执行 FLUSH PRIVILEGES |
| MySQL 无法启动 | 查看日志 sudo tail -f /var/log/mysql/error.log |
✅ 总结
你已经成功在腾讯云 CVM 上部署了 MySQL,可用于开发或生产环境。
生产建议:
- 使用腾讯云 数据库 MySQL(高可用、自动备份、监控)
- 避免直接暴露 3306 端口
- 使用 VPC 内网连接应用服务器
如需 CentOS 版本的安装命令,请告诉我,我可以提供对应脚本。
云计算CLOUD