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

在腾讯云 CVM(云服务器)上安装配置 MySQL 数据库,推荐采用官方源或云市场镜像两种方式。以下是基于 Ubuntu/DebianCentOS/RHEL 系统的详细步骤(以 MySQL 8.0 为例):


一、前置准备

  1. 登录腾讯云控制台 → 进入【云服务器】→ 选择目标 CVM → 点击【远程连接】(使用 SSH 工具如 PuTTY/Xshell,或直接通过网页版 VNC)。
  2. 确保系统已更新:

    # Ubuntu/Debian
    sudo apt update && sudo apt upgrade -y
    
    # CentOS/RHEL
    sudo yum update -y
  3. 开放防火墙端口(MySQL 默认 3306):

    # Ubuntu (ufw)
    sudo ufw allow 3306/tcp
    
    # CentOS (firewalld)
    sudo firewall-cmd --permanent --add-port=3306/tcp
    sudo firewall-cmd --reload
  4. (可选但推荐)在腾讯云控制台的安全组中添加入方向规则:协议 TCP,端口 3306,来源 0.0.0.0/0(生产环境建议限制为特定 IP)。

二、安装 MySQL

方式 A:使用官方 APT/YUM 源(推荐,版本可控)

✅ Ubuntu/Debian 安装 MySQL 8.0

# 1. 下载 MySQL APT 配置文件
wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb
# 按提示选择 MySQL Version: 8.0

# 2. 更新包列表并安装
sudo apt update
sudo apt install mysql-server -y

# 3. 启动并设置开机自启
sudo systemctl enable mysql
sudo systemctl start mysql

# 4. 安全初始化(设置 root 密码等)
sudo mysql_secure_installation
# 按提示操作:
#   - 切换 Unix socket authentication? N(除非有特殊需求)
#   - Set root password? Y → 输入强密码
#   - Remove anonymous users? Y
#   - Disallow root login remotely? N(若需远程访问则选 N;否则选 Y)
#   - Remove test database? Y
#   - Reload privilege tables? Y

✅ CentOS/RHEL 安装 MySQL 8.0

# 1. 添加 MySQL YUM 仓库
wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
sudo rpm -ivh mysql80-community-release-el7-11.noarch.rpm

# 2. 安装 MySQL Server
sudo yum install mysql-community-server -y

# 3. 启动服务
sudo systemctl enable mysqld
sudo systemctl start mysqld

# 4. 获取临时 root 密码(首次安装后自动写入日志)
sudo grep 'temporary password' /var/log/mysqld.log
# 输出示例:[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: xxxxxx

# 5. 登录并修改密码(必须立即修改!)
mysql -u root -p
# 输入上述临时密码 → 进入 MySQL 命令行

-- 在 MySQL 内执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword123!';
FLUSH PRIVILEGES;
EXIT;

💡 注意:MySQL 8.0 默认禁止远程 root 登录,且密码策略严格(长度≥8,含大小写+数字+特殊字符)。


三、配置远程访问(谨慎操作)

⚠️ 生产环境务必配合安全组 + 白名单 IP 使用,避免暴露公网。

1. 允许 root 从任意 IP 登录(不推荐,仅限测试)

CREATE USER 'root'@'%' IDENTIFIED BY 'YourStrongPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

2. 推荐做法:创建专用用户 + 限制 IP

-- 创建只允许从特定 IP(如 1.2.3.4)登录的用户
CREATE USER 'appuser'@'1.2.3.4' IDENTIFIED BY 'AppUserPass123!';
GRANT SELECT, INSERT, UPDATE, DELETE ON your_database.* TO 'appuser'@'1.2.3.4';
FLUSH PRIVILEGES;

3. 修改绑定地址(默认仅监听 127.0.0.1)

编辑配置文件:

# Ubuntu: /etc/mysql/mysql.conf.d/mysqld.cnf
# CentOS: /etc/my.cnf.d/server.cnf
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf  # 或对应路径

找到 [mysqld] 段,注释掉或修改:

bind-address = 0.0.0.0   # 监听所有网卡(生产环境建议改为具体内网 IP)

重启服务:

sudo systemctl restart mysql    # Ubuntu
sudo systemctl restart mysqld   # CentOS

四、验证安装

# 检查服务状态
systemctl status mysql          # Ubuntu
systemctl status mysqld         # CentOS

# 本地登录测试
mysql -u root -p

# 查看版本
mysql -V

五、进阶建议

项目 建议
备份 使用 mysqldump 定时备份,或启用腾讯云 DBS 服务
监控 开启 CloudMonitor 监控 CPU/内存/连接数
高可用 考虑部署主从复制或使用 TDSQL(云原生分布式数据库)
性能优化 根据业务调整 innodb_buffer_pool_sizemax_connections 等参数
替代方案 直接使用 腾讯云云数据库 MySQL(免运维、高可用、自动备份)

需要我提供:

  • Docker 快速部署脚本?
  • 自动化 Ansible playbook?
  • 针对 CentOS 7 / Ubuntu 20.04 的完整一键脚本?
    欢迎告诉我你的系统版本和业务场景,我可定制方案。
未经允许不得转载:CLOUD云枢 » 腾讯云CVM如何安装配置MySQL数据库?