阿里云服务器MySQL安装全攻略:环境准备+安全加固+性能调优一步到位

互联网资讯

阿里云服务器MySQL安装全攻略:环境准备+安全加固+性能调优一步到位

2026-09-22 12:29


阿里云服务器安装MySQL全流程:从环境准备到性能优化指南

阿里云服务器安装MySQL:从环境准备到性能优化全流程

一、准备工作:阿里云服务器环境搭建

在安装MySQL前,需先完成阿里云服务器的基础配置,确保网络和环境可达,避免后续操作受阻。

1. 实例与镜像选择

登录阿里云控制台,进入“ECS实例”页面,选择一台运行中的云服务器:

  • 镜像推荐:优先选择CentOS 8/9或Ubuntu 22.04/24.04(均为长期支持版本,兼容性和社区维护更优);
  • 配置建议:至少4核8G内存(满足中小企业日常业务并发需求),存储选择SSD云盘(IOPS高达数万,大幅提升MySQL读写速度);
  • 地域选择:尽量靠近用户或业务所在地(如华东2区覆盖江浙沪,降低延迟)。

2. 安全组端口开放

MySQL默认通过3306端口进行通信,需在安全组中开放该端口,否则远程连接会被阿里云防火墙拦截:

  • 进入实例“安全组”配置页,点击“添加安全组规则”;
  • 协议类型选“TCP”,端口范围填写“3306/3306”,源地址推荐“0.0.0.0/0”(允许所有IP访问,生产环境建议限制为具体客户端IP,如办公网段);
  • 保存后刷新页面,确保规则生效(通常5分钟内同步至实例)。

3. 远程连接服务器

使用SSH工具登录服务器(推荐阿里云“Workbench”或第三方工具如Xshell):

  • 输入服务器公网IP、用户名(CentOS为root,Ubuntu为ubuntu)和密码;
  • 连接成功后,命令行界面会显示服务器信息(如系统版本、内存使用情况),即可开始后续操作。

二、环境检查:避免重复安装与依赖冲突

安装前需确认系统状态,杜绝因重复安装或依赖缺失导致的安装失败。

1. 检查是否已安装MySQL

不同Linux发行版的检查命令不同:

  • CentOS/RHEL:yum list installed | grep mysql 或 rpm -qa | grep mysql;
  • Ubuntu/Debian:dpkg -l | grep mysql 或 apt list --installed | grep mysql;
    若有输出结果(如mysql-server-8.0),说明已安装MySQL,需先卸载:
    • CentOS:yum remove mysql-server -y;
    • Ubuntu:apt purge mysql-server -y,避免残留文件冲突。

2. 安装系统依赖

MySQL依赖部分基础库,提前安装可避免安装过程中报错:

  • CentOS:yum install -y gcc-c++ ncurses-devel perl(编译依赖,官方仓库安装会自动处理,可跳过);
  • Ubuntu:apt install -y build-essential libncurses5-dev(仅自定义编译需安装,官方APT安装无需手动操作)。

三、安装MySQL:基于官方仓库的标准流程

为获取最新稳定版本和长期支持,强烈推荐通过MySQL官方仓库安装,而非系统自带源(版本可能滞后1~2年)。

1. CentOS系统安装步骤

(1)下载MySQL官方YUM仓库文件(以CentOS 9为例):

wget https://dev.mysql.com/get/mysql80-community-release-el9-3.noarch.rpm  # MySQL 8.0 LTS版
# 若需MySQL 9.0:wget https://dev.mysql.com/get/mysql90-community-release-el9-1.noarch.rpm

(2)安装仓库文件:

rpm -ivh mysql80-community-release-el9-3.noarch.rpm

(3)更新YUM缓存并安装MySQL Server:

yum update -y  # 同步仓库信息
yum install -y mysql-server  # 自动安装依赖和MySQL服务

2. Ubuntu系统安装步骤

(1)更新系统源并安装依赖:

sudo apt update
sudo apt install -y curl software-properties-common  # 用于添加仓库

(2)导入MySQL官方GPG密钥(验证软件完整性):

curl -fsSL https://dev.mysql.com/doc/refman/9.0/en/checking-gpg-signature.html | gpg --dearmor | sudo tee /usr/share/keyrings/mysql-keyring.gpg > /dev/null

(3)添加MySQL APT仓库(以Ubuntu 24.04为例):

echo "deb [signed-by=/usr/share/keyrings/mysql-keyring.gpg] https://repo.mysql.com/apt/ubuntu/ noble mysql-9.0" | sudo tee /etc/apt/sources.list.d/mysql.list

(4)更新源并安装MySQL:

sudo apt update
sudo apt install -y mysql-server  # 自动完成安装和初始化

四、初始化与安全配置:加固MySQL防御

安装完成后,MySQL会自动生成临时密码并启动服务,但默认配置存在安全风险,需立即初始化。

1. 获取临时密码

MySQL 8+安装后,临时密码存储在错误日志中,提取命令:

  • CentOS:grep "temporary password" /var/log/mysqld.log;
  • Ubuntu:grep "temporary password" /var/log/mysql/error.log;
    示例输出:[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: xYb8#v9sQr2t,记录xYb8#v9sQr2t。

2. 运行安全初始化脚本

执行mysql_secure_installation,按提示完成关键配置:

mysql_secure_installation
  • 步骤1:输入临时密码,验证身份;
  • 步骤2:设置root密码:需输入强密码(建议规则:≥8位,包含大小写字母、数字、特殊字符,如Admin@2026#);
  • 步骤3:移除匿名用户:输入Y(匿名用户可无密码登录,严重威胁安全);
  • 步骤4:禁止远程root登录:输入Y(后续通过专用用户远程连接,降低风险);
  • 步骤5:删除测试数据库:输入Y(测试库test易被攻击者利用);
  • 步骤6:刷新权限:输入Y,使配置立即生效。

3. 创建专用用户与授权

为避免root账号暴露,创建普通用户管理数据库(推荐生产环境做法):

mysql -u root -p  # 输入新设置的root密码登录

进入MySQL命令行后,执行:

-- 创建用户:用户名`dev`,密码`Dev@123456`,允许所有IP访问
CREATE USER 'dev'@'%' IDENTIFIED BY 'Dev@123456';
-- 授予`dev`用户对所有数据库的读写权限(可按需缩小范围,如`db_name.*`仅授权特定库)
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON *.* TO 'dev'@'%';
-- 刷新权限,使授权生效
FLUSH PRIVILEGES;

五、配置优化:提升MySQL性能

默认配置适用于微型场景,需根据服务器资源调整,满足业务并发需求。

1. 修改字符集为utf8mb4

utf8mb4支持Emoji、繁体中文等全字符集,避免存储异常:
编辑MySQL配置文件:

  • CentOS:/etc/my.cnf.d/mysql-server.cnf(或/etc/my.cnf);
  • Ubuntu:/etc/mysql/mysql.conf.d/mysqld.cnf;
    在[mysqld]节下添加:
    character-set-server=utf8mb4  # 服务器字符集
    collation-server=utf8mb4_unicode_ci  # 字符集排序规则(兼容多语言)
    init_connect='SET NAMES utf8mb4'  # 客户端连接时自动设置字符集

2. 调整缓冲区与连接数(以8G内存为例)

InnoDB缓冲池是MySQL性能关键参数,占内存的50%~70%最佳:

[mysqld]
innodb_buffer_pool_size=4G  # 缓存数据和索引,减少磁盘IO
max_connections=1000  # 最大并发连接数(根据业务峰值调整,避免超过服务器负载)
innodb_log_file_size=1G  #  redo日志文件大小,提升事务处理速度
query_cache_type=0  # MySQL 8.0已弃用查询缓存,关闭避免性能损耗

3. 开启慢查询日志

定位慢SQL,优化查询性能:
在配置文件中添加:

slow_query_log=ON  # 开启慢查询日志
slow_query_log_file=/var/log/mysql/slow.log  # 日志路径
long_query_time=2  # 记录执行时间≥2秒的查询
log_queries_not_using_indexes=ON  # 记录未使用索引的查询(辅助优化)

修改后重启MySQL服务:

  • CentOS:systemctl restart mysqld;
  • Ubuntu:systemctl restart mysql。

六、远程连接与故障排查

配置完成后,可通过客户端工具远程连接,若失败按以下步骤排查:

1. 远程连接操作(以Navicat为例)

  • 点击“连接”→“MySQL”;
  • 输入“主机”(服务器公网IP)、“端口”(3306)、“用户名”(dev)、“密码”(Dev@123456);
  • 点击“测试连接”,提示“连接成功”即可。

2. 常见故障排查

  • 端口未开放:检查安全组(是否添加3306端口)和服务器防火墙(firewall-cmd --list-ports查看,未开放则执行firewall-cmd --add-port=3306/tcp --permanent && firewall-cmd --reload);
  • 绑定地址限制:配置文件中bind-address=127.0.0.1会限制仅本地连接,需修改为0.0.0.0;
  • 用户权限不足:确认用户授权时@'%'而非@'localhost'(localhost仅允许127.0.0.1访问);
  • 密码错误:重新核对密码,或通过“跳过授权表”重置(见文末小贴士)。

总结

阿里云服务器安装MySQL的核心流程可概括为:环境准备→官方仓库安装→安全初始化→配置优化→远程测试。过程中需重点关注安全(如强密码、禁止远程root)和性能(如字符集、缓冲区调整),避免因默认配置导致的漏洞或卡顿。无论是个人项目还是企业级应用,掌握自建MySQL的方法,能根据业务需求灵活定制,相比云数据库RDS更具自主性。

小贴士:忘记root密码?停止MySQL服务(systemctl stop mysqld),以mysqld_safe --skip-grant-tables启动,登录后执行ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';重置即可。


标签: 阿里云服务器 MySQL安装 性能优化