如何在云服务器上安全安装MySQL?

老婷吖_8099

老婷吖_8099

2026-08-11

553人浏览

原创

不推荐用 apt-get install mysql-server——它在ubuntu/debian上实际安装mariadb,非oracle官方mysql,导致认证插件、json函数、密码策略等行为不一致;必须通过官方apt/yum源安装mysql-community-server。

如何在云服务器上安全安装mysql?

直接说结论:云服务器上安装 MySQL,**不推荐用 apt-get install mysql-server 这类系统默认源**——它装的是 MariaDB 或老旧版本,和官方 MySQL 行为不一致,后续权限、密码策略、JSON 函数支持都会出问题。

为什么不能直接 apt install mysql-server?

Ubuntu/Debian 的 apt install mysql-server 实际安装的是 mariadb-server,不是 Oracle 官方 MySQL。CentOS 7/8 默认仓库也早已移除 MySQL,只留 MariaDB。两者在以下地方表现不同:

  • mysql_secure_installation 脚本行为差异大(MariaDB 不强制密码强度校验)
  • MySQL 8.0+ 默认启用 caching_sha2_password 认证插件,MariaDB 用的是 unix_socket 或 mysql_native_password
  • JSON 函数、角色管理、CREATE USER ... IDENTIFIED WITH 语法在 MariaDB 中要么缺失要么语义不同

必须用官方 YUM/APT 仓库安装

以 Ubuntu 22.04/24.04 或 CentOS Stream 9 为例,正确安装步骤是:

  • 先卸载残留:sudo apt remove --purge mysql-server mariadb-server(Ubuntu)或 sudo dnf remove mysql-community-server(RHEL系)
  • 下载并安装官方仓库包:wget https://dev.mysql.com/get/mysql80-community-release-$(lsb_release -sc)-1.noarch.rpm,然后 sudo rpm -ivh mysql80-community-release-*.rpm(CentOS/RHEL);Ubuntu 则用 sudo dpkg -i mysql80-community-release-*.deb
  • 确认仓库启用:sudo yum repolist enabled | grep mysql 或 apt-cache policy mysql-community-server
  • 安装服务:sudo yum install mysql-community-server(CentOS)或 sudo apt install mysql-community-server(Ubuntu)

安装后第一件事:改 root 密码并禁用匿名访问

MySQL 8.0+ 启动后会生成临时密码,藏在 /var/log/mysqld.log 里,用 sudo grep 'temporary password' /var/log/mysqld.log 找到。但别急着用这个密码连——先执行 mysql_secure_installation,它会强制你:

MySQL
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载
  • 重设 root@localhost 密码(必须满足策略:长度 ≥8、含大小写字母+数字+特殊字符)
  • 删除匿名用户:DELETE FROM mysql.user WHERE User='';
  • 禁止远程 root 登录(保留 root@localhost 即可)
  • 删除 test 数据库及其访问权限

这步跳过等于裸奔。很多“连不上 MySQL”问题,根源就是没跑 mysql_secure_installation,导致 root 只能从 localhost 用 socket 连,且密码为空或过期。

防火墙和 bind-address 是两个高频翻车点

云服务器默认不开 3306 端口,且 MySQL 默认只监听 127.0.0.1。想让外部应用连接,必须同时做两件事:

  • 修改 /etc/my.cnf(或 /etc/mysql/mysql.conf.d/mysqld.cnf),把 bind-address = 127.0.0.1 改成 bind-address = 0.0.0.0 或具体内网 IP(如 172.16.0.5)
  • 开放端口:sudo ufw allow 3306(Ubuntu)或 sudo firewall-cmd --permanent --add-port=3306/tcp(CentOS)
  • 重启服务:sudo systemctl restart mysqld

注意:改完 bind-address 后,必须给远程用户显式授权,比如 CREATE USER 'app'@'192.168.1.%' IDENTIFIED BY 'StrongPass!2026'; GRANT SELECT,INSERT ON mydb.* TO 'app'@'192.168.1.%'; —— 直接用 root@'%' 是严重安全隐患。

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

900

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2772

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

936

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

829

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

434

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2516

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4652

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

747

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 182人学习