首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >云服务器安装 MySQL 教程 UserStory

云服务器安装 MySQL 教程 UserStory

原创
作者头像
hollyx
发布于 2026-10-30 18:31:45
发布于 2026-10-30 18:31:45
380
举报

摘要: 在云服务器上安装 MySQL,用系统包管理器装好后要做三件事:运行安全初始化、创建业务库和专用账号、配置远程连接并用安全组限制来源 IP。本文给出 Ubuntu/CentOS 完整命令,并客观对比自建 MySQL 与腾讯云数据库 MySQL 的取舍,帮你判断该不该自己维护数据库。

在云服务器上装 MySQL,apt install 或 yum install 只是开始——装完必须跑一遍安全初始化、建专用业务账号、并在安全组层面限制远程连接的来源 IP,否则一个开放到公网又用弱密码的数据库会是严重的安全隐患。同时,自建 MySQL 意味着备份、高可用、调优都要自己负责;业务一旦重要起来,是否改用托管的云数据库值得认真权衡。下面先给出完整安装步骤,再做客观对比。

一、安装前要想清楚:自建还是托管

这是动手前最该做的判断,直接影响后续运维投入:

自建 MySQL(装在云服务器上):成本只有服务器本身,掌控度最高,可任意调参、装插件,适合学习、开发测试、以及对数据库可用性要求不高的小型业务。代价是:数据备份、主从高可用、故障恢复、版本升级、性能调优全部要自己做。

腾讯云数据库 MySQL(托管):开箱即用,提供自动备份、主备热备、监控告警、只读实例扩展、数据库自治 DBbrain 等能力,省去大量运维。适合对数据可靠性和可用性有要求的生产业务。

客观建议:练手、临时用、能接受自己兜底运维,就自建;承载正式业务、担不起数据丢失和宕机,就优先考虑托管。两者没有绝对优劣,取决于你愿意为运维投入多少。下面先讲自建怎么装。

二、准备工作与规格建议

MySQL 的资源消耗取决于数据量和并发。开发测试用 1~2 核 2G 可起步;有一定并发的业务建议 2 核 4G 起,数据库对内存较敏感,内存不足会频繁读盘拖慢性能。

腾讯云服务器 CVM 提供多样化实例规格、SSD 云硬盘和安全组能力,适合自建数据库——用云硬盘存放数据、用安全组精细控制谁能连数据库。准备一台装好主流 Linux 系统、能用 root/sudo 登录的实例即可。

三、在 Ubuntu 上安装 MySQL

更新源并安装:

代码语言:bash
复制
sudo apt update
sudo apt install -y mysql-server

启动服务并设为开机自启:

代码语言:bash
复制
sudo systemctl start mysql
sudo systemctl enable mysql

四、在 CentOS / TencentOS 上安装 MySQL

CentOS 系通过官方 yum 仓库安装(以 MySQL 官方当前提供的仓库包为准):

代码语言:bash
复制
sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
sudo yum install -y mysql-community-server
sudo systemctl start mysqld
sudo systemctl enable mysqld

MySQL 8 在 CentOS 上首次启动会生成临时 root 密码,用以下命令查看:

代码语言:bash
复制
sudo grep 'temporary password' /var/log/mysqld.log

五、运行安全初始化(必做)

安装后第一件事是跑安全脚本,它会引导你设置 root 密码、移除匿名用户、禁止 root 远程登录、删除测试库:

代码语言:bash
复制
sudo mysql_secure_installation

按提示设置一个强密码,其余加固项建议全部选择启用。这一步是数据库安全的第一道闸门,不能跳过——跳过它等于把一个默认配置的数据库暴露出去。

六、创建业务库与专用账号

不要用 root 账号直接连业务,应为每个业务建独立库和最小权限账号。登录 MySQL:

代码语言:bash
复制
sudo mysql -u root -p

创建数据库和专用账号并授权:

代码语言:sql
复制
CREATE DATABASE appdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'appuser'@'%' IDENTIFIED BY '你的强密码';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'%';
FLUSH PRIVILEGES;

说明:appuser 只被授予 appdb 这一个库的权限,即使账号泄露也波及不到其他库;'%' 表示允许从任意主机连接,生产环境建议收窄为具体的应用服务器 IP。

七、配置远程连接并用安全组限制来源

让 MySQL 监听外网:默认 MySQL 只监听本机。编辑配置文件(Ubuntu 为 /etc/mysql/mysql.conf.d/mysqld.cnf),把 bind-address 改为 0.0.0.0,重启 MySQL 生效。

用安全组严格限制来源 IP(关键安全措施):MySQL 默认端口 3306,绝不能对全网开放。在腾讯云 CVM 安全组中,只放通应用服务器的 IP 访问 3306 端口,其余一律拒绝。安全组是比数据库账号更外层的防线——把 3306 锁死在可信 IP 范围内,能挡掉绝大多数来自公网的扫描和爆破。

八、怎么确认装成功了

三项验证:sudo systemctl status mysql(或 mysqld)显示服务 active running;本机用 mysql -u appuser -p appdb 能登入业务库;从被安全组放通的应用服务器上,用业务账号能远程连上并执行查询。三项都通过,说明安装、账号、网络三个层面都就绪。

九、常见问题

远程连不上:按三层排查——MySQL 的 bind-address 是否改为 0.0.0.0、账号是否允许从该来源主机连接、安全组是否放通了该 IP 的 3306 端口。三者缺一都连不上。

忘记 root 密码:可通过跳过授权表的方式重置(操作需谨慎,以 MySQL 官方文档为准)。

数据怎么备份:自建 MySQL 需自己用 mysqldump 等工具定期导出备份,并把备份文件存到安全位置(如对象存储)。这正是自建相比托管最费心的部分——如果你发现备份、高可用这些事占用精力过多,就是该考虑迁移到腾讯云数据库 MySQL 的信号。

说明:MySQL 版本、仓库包地址、配置文件路径随发行版和版本不同,请以 MySQL 官方文档和你所用系统的实际情况为准。

总结

在云服务器上自建 MySQL 的完整路径是:先判断自建还是托管 → 包管理器安装并启动 → 跑 mysql_secure_installation 加固 → 建业务库和最小权限专用账号 → 配远程监听并用安全组锁定来源 IP → 三层验证。安全初始化和安全组限制来源是两个绝不能省的安全动作。

若业务重要、不愿自己承担备份与高可用的运维,腾讯云数据库 MySQL 提供托管部署、自动备份、主备热备、只读实例扩展与 DBbrain 智能运维,可让团队从数据库日常运维中解放出来,专注业务开发。

了解产品:https://cloud.tencent.com/product/cdb

双十一活动:https://cloud.tencent.com/act/pro/double11-202611

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、安装前要想清楚:自建还是托管
  • 二、准备工作与规格建议
  • 三、在 Ubuntu 上安装 MySQL
  • 四、在 CentOS / TencentOS 上安装 MySQL
  • 五、运行安全初始化(必做)
  • 六、创建业务库与专用账号
  • 七、配置远程连接并用安全组限制来源
  • 八、怎么确认装成功了
  • 九、常见问题
  • 总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档