腾讯云轻量服务器如何安装和配置MySQL?

在腾讯云轻量应用服务器(Lighthouse)上安装和配置 MySQL,推荐通过官方提供的“镜像”一键部署,或手动安装。以下是两种主流方案的详细步骤:


✅ 方案一:使用官方镜像(推荐,最快最稳)

腾讯云轻量服务器提供预装 MySQL 的镜像,适合快速搭建环境。

步骤:

  1. 创建/重置实例

    • 登录 腾讯云控制台
    • 进入「轻量应用服务器」→ 点击「创建」或选择已有实例 → 「重装系统」
    • 在「镜像」中选择:MySQL 8.0 / 5.7(根据需求选版本)
    • 其他配置(地域、带宽、密码等)按需设置
    • 完成创建后,系统会自动初始化 MySQL 并生成初始 root 密码
  2. 获取初始密码

    • 创建成功后,在控制台实例详情页 → 「基本信息」中查看:
      • 用户名:root
      • 密码:自动生成的随机密码(部分镜像会提示在 /etc/mysql/debian.cnf 或输出日志中)
    • 若未显示,可登录后执行:
      sudo grep 'temporary password' /var/log/mysqld.log
  3. 登录并修改密码

    mysql -u root -p
    # 输入临时密码后,立即修改:
    ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新强密码';
    FLUSH PRIVILEGES;
  4. 远程访问配置(可选)

    ⚠️ 默认只允许 localhost 连接,需开放权限 + 安全组规则

    • 开启远程连接(在 MySQL 内):

      CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_password';
      GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%';
      FLUSH PRIVILEGES;

      建议仅对特定 IP 授权:'user'@'123.123.123.123'

    • 配置安全组(腾讯云控制台):

      • 实例 → 「网络与安全」→ 「安全组」→ 编辑规则
      • 添加入站规则:协议 TCP,端口 3306,来源 自定义(填你的公网 IP 或 0.0.0.0/0 谨慎使用)
    • 检查防火墙(若使用 Ubuntu/CentOS 自带 firewalld/ufw):

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

🔧 方案二:手动安装(适合自定义需求)

适用于已安装基础系统的轻量服务器(如 Ubuntu 22.04 / CentOS 7+)。

以 Ubuntu 22.04 为例:

1. 更新系统 & 安装 MySQL

sudo apt update && sudo apt upgrade -y
sudo apt install mysql-server -y

2. 安全加固(内置脚本)

sudo mysql_secure_installation
# 按提示操作:
# - Set root password? Y
# - Remove anonymous users? Y
# - Disallow root login remotely? N(若需远程则选 N,后续再配权限)
# - Remove test database? Y
# - Reload privilege tables? Y

3. 验证安装

mysql -u root -p
-- 输入密码后应能进入
SELECT VERSION();

4. 配置远程访问

  • 编辑配置文件:

    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

    找到 bind-address = 127.0.0.1 → 改为:

    bind-address = 0.0.0.0

    保存退出。

  • 重启服务:

    sudo systemctl restart mysql
  • 创建远程用户(同上):

    CREATE USER 'app_user'@'%' IDENTIFIED BY 'StrongPass123!';
    GRANT ALL PRIVILEGES ON mydb.* TO 'app_user'@'%';
    FLUSH PRIVILEGES;
  • 开放安全组 + 防火墙(同方案一)


📌 补充建议

项目 建议
备份策略 定期用 mysqldump 备份到云存储或本地挂载盘
性能优化 根据内存调整 innodb_buffer_pool_size(如 4G 内存设为 2G)
监控 启用腾讯云 CCM 监控或 Prometheus + Grafana
高可用 生产环境建议使用腾讯云 TDSQL-C(原 PolarDB MySQL 兼容版)
Docker 部署 也可用 Docker 运行 MySQL:
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=xxx -p 3306:3306 mysql:8.0

需要我提供:

  • CentOS 7 的手动安装脚本?
  • Docker Compose 一键部署示例?
  • 自动化备份 shell 脚本?
    欢迎告诉我你的具体场景(开发测试 / 生产环境 / 多租户等),我可进一步定制方案。