mysql如何在云服务器上安装_mysql云端部署教程

来源:这里教程网 时间:2026-02-28 20:46:32 作者:

云服务器上装 MySQL 到底要不要自己编译?

绝大多数情况下,不要自己编译安装。云服务器(如阿里云、腾讯云、AWS)的 Linux 发行版(Ubuntu/CentOS/Debian)都自带稳定、适配好的 MySQL 包,直接用包管理器装更安全、更新有保障、依赖自动处理。

常见误区是看到“最新版”就去官网下 tar.gz 编译——结果可能缺

libaio
cmake
版本不匹配、SELinux 拦截、或启动失败报
Failed to start mysqld.service: Unit not found

Ubuntu/Debian:用
apt install mysql-server
(默认装
mysql-server-8.0
CentOS 8+ / Rocky/AlmaLinux:用
dnf install mysql-server
CentOS 7:官方源已弃用 MySQL,改用
yum install mariadb-server
或启用 MySQL 官方 repo 后装
mysql-community-server

装完连不上?检查这三处网络和权限

装完

mysql-server
默认只监听
127.0.0.1
,且 root 用户默认禁止远程登录——这是云服务器上最常卡住的点。

确认监听地址:
sudo ss -tlnp | grep :3306
,若只显示
127.0.0.1:3306
,需改
/etc/mysql/mysql.conf.d/mysqld.cnf
(Ubuntu)或
/etc/my.cnf
(CentOS),把
bind-address
改成
0.0.0.0
或具体内网 IP
开放云平台安全组:必须在阿里云控制台、腾讯云「安全组」里放行 TCP 3306 端口,仅限可信 IP(比如你办公室 IP),别开 0.0.0.0/0 授权远程用户:
mysql -u root -p
进去后执行:
CREATE USER 'app'@'192.168.1.%' IDENTIFIED BY 'strong_pass'; GRANT ALL ON mydb.* TO 'app'@'192.168.1.%'; FLUSH PRIVILEGES;
——别直接给 root 远程权限

MySQL 8.0 默认认证插件导致客户端连不上

Ubuntu 20.04+/CentOS 8+ 装的 MySQL 8.0 默认用

caching_sha2_password
插件,但老版本 MySQL Workbench、某些 Python 驱动(如 PyMySQL 0.9 以下)、PHP mysqli 扩展会报错:
Authentication plugin 'caching_sha2_password' cannot be loaded

临时解决(开发环境):创建用户时指定旧插件:
CREATE USER 'dev'@'%' IDENTIFIED WITH mysql_native_password BY 'pwd';
长期方案(生产):升级客户端驱动,比如 Python 改用
mysql-connector-python
或 PyMySQL ≥1.0,Java 用 mysql-connector-j ≥8.0.23
不建议全局改默认插件(
default_authentication_plugin=mysql_native_password
),会削弱密码安全性

云盘 IO 性能差?调这几个关键配置项

云服务器用的通常是网络型云盘(如阿里云 ESSD、腾讯云 CBS),IOPS 和吞吐受规格限制。MySQL 默认配置是为本地 SATA 盘设计的,不调容易写入慢、主从延迟高。

innodb_io_capacity
:设为云盘实际 IOPS 的 50%~70%,例如 3000 IOPS 的盘,设
2000
innodb_log_file_size
:云盘随机写强,可加大到
512M
(需先停库、删旧 log、再启)
innodb_flush_method
:云环境推荐
O_DIRECT
(绕过系统缓存,避免 double buffer)
别盲目开
query_cache_type=1
:MySQL 8.0 已移除,5.7 中在高并发下反而成瓶颈

这些值不是拍脑袋定的,得结合

SHOW ENGINE INNODB STATUS\G
里的
Log sequence number
增速、
Buffer pool hit rate
和云监控里的磁盘 await、util 来调。

相关推荐