奋斗
努力

在腾讯云CVM上如何安装和配置MySQL数据库?

云计算

在腾讯云 CVM(云服务器)上安装和配置 MySQL 数据库,通常有两种主流方式:

  1. 使用官方预置镜像(推荐新手/快速部署)
  2. 手动安装配置(适合需要自定义版本、路径或学习原理的用户)

下面以 手动安装 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 加密等),可进一步说明,我将提供针对性指导。

未经允许不得转载:云服务器 » 在腾讯云CVM上如何安装和配置MySQL数据库?