在腾讯云服务器上如何手动安装和配置MySQL?

在腾讯云服务器(CVM)上手动安装和配置 MySQL,推荐通过官方源或编译安装。以下以 Ubuntu 20.04/22.04CentOS 7/8 为例,采用 官方 APT/YUM 源安装 MySQL 8.0(稳定且安全),并包含基础配置与远程访问设置。


✅ 一、前置准备

  1. 登录腾讯云控制台 → CVM 实例 → 安全组
    • 放行端口:3306(TCP),仅允许必要 IP 或全部(生产环境建议限制来源 IP)。
  2. 确保服务器可联网(用于下载包):
    ping www.baidu.com

✅ 二、Ubuntu 系统安装步骤(推荐 Ubuntu 20.04+)

1. 更新软件源

sudo apt update && sudo apt upgrade -y

2. 添加 MySQL APT 仓库

# 下载 MySQL 官方 GPG 密钥
wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb
# 注意:版本号可能变化,请查看 https://dev.mysql.com/downloads/repo/apt/ 获取最新链接

# 安装并配置仓库(交互式选择版本,选 MySQL 8.0)
sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb
# 弹出界面时:
#   • MySQL Server version: 选择 "MySQL 8.0"
#   • 其他保持默认 → OK

# 再次更新源
sudo apt update

3. 安装 MySQL Server

sudo apt install mysql-server -y

⚠️ 安装过程中会提示设置 root 密码(强烈建议设置强密码)。

4. 启动并设置开机自启

sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl status mysql  # 确认运行状态

5. 安全加固(关键!)

sudo mysql_secure_installation

按提示操作:

  • VALIDATE PASSWORD COMPONENT → N(避免过严策略影响开发)
  • Remove anonymous users? → Y
  • Disallow root login remotely? → Y(后续再按需开放)
  • Remove test database? → Y
  • Reload privilege tables now? → Y

✅ 三、CentOS 系统安装步骤

1. 安装依赖 & 下载 RPM

sudo yum install -y wget curl

# 下载 MySQL 8.0 YUM 配置包(官网获取最新链接)
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
# 或 el7 版本:mysql80-community-release-el7-11.noarch.rpm

2. 安装并启用 MySQL 8.0 源

sudo rpm -Uvh mysql80-community-release-el8-1.noarch.rpm
sudo yum makecache
sudo yum install mysql-server -y

3. 启动服务

sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl status mysqld

4. 获取临时 root 密码

安装后,MySQL 会在 /var/log/mysqld.log 中生成临时密码:

sudo grep 'temporary password' /var/log/mysqld.log
# 输出示例:
# [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Abc123!xyz

5. 修改 root 密码并安全加固

mysql -u root -p
# 输入上面查到的临时密码

进入 MySQL 后执行:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword123!';
FLUSH PRIVILEGES;
EXIT;

然后运行:

sudo mysql_secure_installation

同样按上述选项完成加固(远程 root 登录建议先设为 N)。


✅ 四、配置远程访问(可选但常用)

🔒 生产环境务必结合安全组 + 白名单 IP,不要直接开放所有 IP!

方法一:修改用户权限(推荐)

sudo mysql -u root -p
-- 创建允许远程登录的用户(替换 IP 为可信客户端 IP)
CREATE USER 'appuser'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'appuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

方法二:修改 bind-address(如未绑定 localhost)

编辑配置文件:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf   # Ubuntu
# 或
sudo vim /etc/my.cnf                          # CentOS

找到并修改:

[mysqld]
bind-address = 0.0.0.0   # 默认是 127.0.0.1,改为 0.0.0.0 允许外部连接

重启服务:

sudo systemctl restart mysql   # 或 mysqld

✅ 验证远程连接(在本地机器测试):

mysql -h <你的公网IP> -P 3306 -u appuser -p

✅ 五、防火墙检查(腾讯云安全组已做,但系统防火墙仍需关注)

  • Ubuntu (ufw)
    sudo ufw allow 3306/tcp
    sudo ufw reload
  • CentOS (firewalld)
    sudo firewall-cmd --permanent --add-port=3306/tcp
    sudo firewall-cmd --reload

✅ 六、验证安装成功

mysql -u root -p
SHOW DATABASES;
SELECT VERSION();

📌 补充建议

项目 建议
备份 定期使用 mysqldump 或云数据库自动备份功能
监控 开启腾讯云云监控(Cloud Monitor)监控 CPU、内存、磁盘 IO
性能优化 根据业务调整 my.cnf 中的 innodb_buffer_pool_size(建议占物理内存 50%~70%)
高可用 如需主从复制/集群,建议使用腾讯云 TencentDB for MySQL(托管版更可靠)

需要我提供:

  • 自动化脚本(Ansible/Bash)?
  • Docker 方式安装 MySQL?
  • 主从复制配置示例?
    欢迎告诉我具体需求,我可进一步细化方案。