在腾讯云 CVM(云服务器)上安装和配置 MySQL 数据库,通常有两种主流方式:
- 使用官方预置镜像(推荐新手/快速部署)
- 手动安装配置(适合需要自定义版本、路径或学习原理的用户)
下面以 手动安装 MySQL 8.0 为例,提供完整步骤(适用于 Ubuntu 20.04/22.04 和 CentOS 7/8)。
一、前提条件
- 已登录腾讯云控制台,创建并启动一台 CVM 实例。
- 确保安全组开放了 3306 端口(MySQL 默认端口),允许你的 IP 访问。
- 路径:腾讯云控制台 → 实例 → 安全组 → 入站规则 → 添加规则:
- 类型:自定义 TCP
- 端口:3306
- 来源:你的公网 IP 或
0.0.0.0/0(不推荐生产环境)
⚠️ 生产环境建议仅允许特定 IP 访问,或使用内网通信。
二、Ubuntu 系统安装 MySQL 8.0
1. 更新包索引
sudo apt update
2. 安装 MySQL Server
sudo apt install mysql-server -y
3. 启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql
4. 运行安全脚本(强烈建议)
sudo mysql_secure_installation
按提示完成以下操作:
- 设置 root 密码
- 删除匿名用户
- 禁止 root 远程登录(可选,根据需求调整)
- 删除 test 数据库
- 重新加载权限表
5. 验证安装
mysql -u root -p
输入密码后进入 MySQL 命令行,执行:
SELECT VERSION();
三、CentOS/RHEL 系统安装 MySQL 8.0
1. 添加 MySQL Yum 仓库
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm -y
2. 安装 MySQL Server
sudo yum install mysql-server -y
3. 启动并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld
4. 获取临时 root 密码
MySQL 首次安装会生成一个临时密码,查看日志:
sudo grep 'temporary password' /var/log/mysqld.log
5. 运行安全脚本
sudo mysql_secure_installation
输入临时密码后,按提示修改 root 密码并完成其他安全配置。
6. 验证安装
mysql -u root -p
四、基本配置优化(通用)
编辑 MySQL 配置文件:
- Ubuntu:
/etc/mysql/mysql.conf.d/mysqld.cnf - CentOS:
/etc/my.cnf或/etc/mysql/my.cnf
在 [mysqld] 段落下添加或修改以下参数(根据服务器配置调整):
[mysqld]
# 字符集
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# 最大连接数
max_connections = 500
# 缓冲池大小(建议为物理内存的 50%-70%)
innodb_buffer_pool_size = 1G
# 日志文件路径
log_error = /var/log/mysql/error.log
# 绑定地址(如需远程访问,改为 0.0.0.0;否则保留 127.0.0.1)
bind-address = 0.0.0.0
⚠️ 修改
bind-address后需重启 MySQL 服务生效。
重启服务:
sudo systemctl restart mysql # Ubuntu
sudo systemctl restart mysqld # CentOS
五、创建用户并授权远程访问(可选)
出于安全考虑,不建议直接使用 root 远程登录。创建一个专用用户:
-- 登录 MySQL
mysql -u root -p
-- 创建用户(替换 'your_password' 为强密码)
CREATE USER 'app_user'@'%' IDENTIFIED BY 'your_strong_password';
-- 授予权限(替换 'mydb' 为实际数据库名)
GRANT ALL PRIVILEGES ON mydb.* TO 'app_user'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
-- 退出
EXIT;
%表示允许任意 IP 连接。生产环境中建议限制为具体 IP,如'app_user'@'192.168.1.100'。
六、防火墙与安全组检查
确保以下端口畅通:
| 协议 | 端口 | 用途 |
|---|---|---|
| TCP | 3306 | MySQL 服务 |
| TCP | 22 | SSH 登录 |
在腾讯云控制台的安全组中确认已放行。
七、备份与监控建议
- 定期备份:使用
mysqldump或腾讯云数据库备份服务。 - 监控性能:启用慢查询日志,关注 CPU、内存、磁盘 I/O。
- 高可用方案:生产环境建议使用 MySQL 主从复制 + Keepalived,或直接使用腾讯云 CDB for MySQL(托管数据库服务)。
替代方案:使用腾讯云 CDB(云数据库 MySQL)
如果你希望免运维、自动备份、高可用,推荐使用腾讯云 云数据库 MySQL(CDB):
- 无需管理服务器
- 自动备份、故障转移
- 弹性扩容
- 更安全可靠
路径:腾讯云控制台 → 数据库 → 云数据库 MySQL → 创建实例
如有具体操作系统版本、MySQL 版本或特殊需求(如主从复制、SSL 加密等),可进一步说明,我将提供针对性指导。
云服务器