在腾讯云轻量应用服务器上部署 MySQL 是一个常见的操作,适合搭建中小型 Web 应用的数据库服务。以下是在 Linux 系统(以 CentOS 为例) 上部署 MySQL 的详细步骤。
✅ 前提条件
- 已购买腾讯云轻量应用服务器,并已设置好安全组。
- 操作系统为 CentOS 7/8 或其他主流 Linux 发行版。
- 已通过 SSH 登录到服务器(如使用
Xshell、FinalShell或腾讯云控制台在线终端)。
🛠️ 步骤一:更新系统软件包
sudo yum update -y
📦 步二:安装 MySQL 官方源
MySQL 官方提供了 YUM 源,方便安装最新版本。
1. 下载并添加 MySQL YUM 源
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
⚠️ 注意:根据你的系统版本(如 CentOS 7/8)选择合适的源地址:
- CentOS 7:
mysql80-community-release-el7-*- CentOS 8:
mysql80-community-release-el8-*
2. 安装 MySQL 服务器
sudo yum install mysql-server -y
▶️ 步骤三:启动 MySQL 并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld
🔐 步骤四:获取临时密码并设置 root 密码
MySQL 在首次启动时会生成一个临时密码:
sudo grep 'temporary password' /var/log/mysqld.log
输出示例:
A temporary password is generated for root@localhost: abcdefg12345
保存该密码,然后运行安全初始化:
sudo mysql_secure_installation
按照提示操作:
- 输入临时密码
- 设置新的 root 密码(符合复杂度要求)
- 删除匿名用户
- 禁止远程 root 登录(除非需要)
- 删除 test 数据库
- 刷新权限
🌐 步骤五:配置远程访问(可选)
1. 修改 MySQL 配置文件
编辑 /etc/my.cnf 文件:
sudo vi /etc/my.cnf
找到如下行并注释掉或修改绑定地址为 0.0.0.0:
# bind-address = 127.0.0.1
bind-address = 0.0.0.0
保存并退出,重启 MySQL:
sudo systemctl restart mysqld
2. 创建允许远程访问的用户
进入 MySQL:
mysql -u root -p
执行 SQL:
CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
替换
your_user和your_password为你自己的用户名和密码。
🔒 步骤六:配置防火墙(开放 3306 端口)
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
🔐 步骤七:配置腾讯云安全组
登录 腾讯云控制台:
- 进入轻量服务器管理页面;
- 找到“安全组”;
- 添加一条规则,放行 TCP:3306 端口;
- 推荐限制来源 IP,增强安全性;
- 不建议开放给所有 IP(0.0.0.0/0)除非必要。
🧪 步骤八:测试连接
你可以使用本地客户端工具(如 Navicat、DBeaver、MySQL Workbench)尝试连接服务器上的 MySQL 数据库。
🧹 可选:清理缓存和日志
定期清理可以释放磁盘空间:
sudo mysql -u root -p -e "PURGE BINARY LOGS BEFORE NOW();"
📝 总结
| 步骤 | 内容 |
|---|---|
| 更新系统 | yum update |
| 安装 MySQL 源 | 官方 RPM 包 |
| 安装 MySQL | yum install mysql-server |
| 启动服务 | systemctl start mysqld |
| 设置密码 | mysql_secure_installation |
| 开放远程访问 | 修改 bind-address、创建用户、放行端口 |
| 安全组设置 | 放行 TCP 3306 |
如果你有特定需求(如部署 WordPress、LNMP、Docker 部署 MySQL),也可以告诉我,我可以提供更详细的定制方案。
是否需要我提供 Ubuntu 版本的部署教程?
云计算导航