阿里云Linux服务器安装MySQL完整指南

apphuang2026年06月10日 16:48:0321

阿里云Linux服务器安装MySQL完整指南

在阿里云Linux服务器上部署MySQL数据库,是搭建网站、业务系统及数据分析平台的基础操作。MySQL作为开源关系型数据库,凭借高性能、高稳定性及广泛兼容性,成为云服务器部署的首选数据库之一。本文将以主流的MySQL 8.0版本为例,详细讲解阿里云Linux服务器(涵盖Alibaba Cloud Linux、CentOS、Ubuntu三大系统)从环境准备、安装部署、安全配置到远程访问、日常运维及故障排查的全流程,全程提供可直接复制的命令,兼顾新手友好性与生产环境安全性,帮助用户快速完成MySQL的标准化部署。

一、安装前准备工作

1.1 服务器远程连接

安装MySQL前,需先远程登录阿里云Linux服务器,常用连接方式有Workbench、Xshell、Putty等,核心是确保服务器已开放22端口(SSH协议)且绑定公网IP。

需要先登录阿里云控制台,点击:阿里云控制台

登录控制台后,进入「云服务器ECS」实例列表,确认目标服务器状态为「运行中」,记录公网IP地址。以Workbench为例,连接步骤如下:

  1. 在ECS实例详情页,点击「远程连接」,选择「Workbench远程连接」;
  2. 输入服务器用户名(默认root)、登录密码,点击「登录」即可进入命令行界面。

若使用Xshell等第三方工具,需在阿里云安全组入方向规则中放行22端口,协议选择TCP,授权对象可设置为个人IP(避免0.0.0.0/0全网开放,降低安全风险)。

1.2 系统环境检查与更新

不同Linux系统的包管理器不同(Alibaba Cloud Linux/CentOS用yum/dnf,Ubuntu用apt),安装前需更新系统软件包,避免依赖冲突:

Alibaba Cloud Linux/CentOS系统:

sudo yum clean all
sudo yum makecache
sudo yum update -y

Ubuntu/Debian系统:

sudo apt update
sudo apt upgrade -y

同时关闭系统自带的MariaDB(MySQL分支),防止端口冲突:

sudo systemctl stop mariadb
sudo systemctl disable mariadb

1.3 关键依赖安装

MySQL 8.0运行需依赖compat-openssl10、libaio等库文件,Alibaba Cloud Linux 3系统需额外安装兼容包,避免安装失败:

Alibaba Cloud Linux 3专属依赖:

sudo rpm -Uvh https://mirrors.aliyun.com/alinux/3/updates/x86_64/Packages/compat-openssl10-1.0.2o-4.0.1.al8.x86_64.rpm

所有系统通用依赖:

sudo yum install -y libaio-devel  # Alibaba Cloud Linux/CentOS
sudo apt install -y libaio-dev      # Ubuntu/Debian

二、添加MySQL官方软件源

阿里云Linux默认源不含MySQL官方包,直接安装会提示「No package mysql-server available」,需手动添加MySQL 8.0官方Yum源(Ubuntu系统可直接用apt安装,无需添加源)。

2.1 Alibaba Cloud Linux/CentOS添加官方源

根据系统版本选择对应源包(CentOS 7用el7,CentOS 8/Alibaba Cloud Linux 3用el8):

CentOS 7系统:

sudo rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-7.noarch.rpm

CentOS 8/Alibaba Cloud Linux 3系统:

sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el8-1.noarch.rpm

导入官方GPG密钥,校验安装包完整性,避免篡改风险:

sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

验证源是否生效,执行以下命令,输出含mysql80-community则配置成功:

sudo yum repolist enabled | grep mysql

2.2 Ubuntu/Debian系统源配置

Ubuntu默认源已包含MySQL,无需额外添加源,直接更新缓存即可:

sudo apt update

三、MySQL 8.0安装步骤

本节分三大系统详细讲解安装命令,全程使用社区版(免费商用),安装过程自动处理依赖,无需手动干预。

3.1 Alibaba Cloud Linux/CentOS系统安装

执行安装命令,启用MySQL 8.0仓库并跳过GPG校验(避免网络超时导致校验失败):

sudo yum -y install mysql-community-server --enablerepo=mysql80-community --nogpgcheck

安装完成后,验证版本,输出版本号(如8.0.33)则安装成功:

阿里云Linux服务器安装MySQL完整指南

mysql -V

3.2 Ubuntu/Debian系统安装

直接通过apt安装,安装过程中会提示设置root密码(务必牢记):

sudo apt install -y mysql-server

验证版本:

mysql -V

四、MySQL服务启动与开机自启

安装完成后,需启动MySQL服务并设置开机自启,确保服务器重启后MySQL自动运行。

4.1 启动MySQL服务

Alibaba Cloud Linux/CentOS系统:

sudo systemctl start mysqld

Ubuntu/Debian系统:

sudo systemctl start mysql

4.2 设置开机自启

Alibaba Cloud Linux/CentOS系统:

sudo systemctl enable mysqld

Ubuntu/Debian系统:

sudo systemctl enable mysql

4.3 查看服务状态

执行以下命令,输出「active (running)」表示服务正常运行:

Alibaba Cloud Linux/CentOS系统:

sudo systemctl status mysqld

Ubuntu/Debian系统:

sudo systemctl status mysql

五、初始安全配置(必做)

MySQL首次启动后,root用户会生成临时密码(CentOS/Alibaba Cloud Linux),需通过安全脚本修改密码、删除匿名用户、禁止远程root登录,避免安全漏洞。

阿里云Linux服务器安装MySQL完整指南

5.1 获取root临时密码(CentOS/Alibaba Cloud Linux)

临时密码存储在mysqld.log日志中,执行以下命令快速提取:

echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD)

复制输出的临时密码(如`&abc123xyz`),后续配置需使用。

5.2 运行安全配置向导

执行官方安全脚本,交互式完成安全加固:

sudo mysql_secure_installation

配置步骤(全程建议选y,生产环境安全最优):

  1. 输入临时密码(CentOS/Alibaba Cloud Linux)或安装时设置的密码(Ubuntu),输入时无回显,直接回车即可;
  2. 「是否启用密码强度校验」:输入y,密码需包含大小写字母、数字、特殊符号,长度≥8位;
  3. 「是否修改root密码」:输入y,设置高强度新密码(牢记,后续登录用);
  4. 「是否删除匿名用户」:输入y,避免未授权用户登录;
  5. 「是否禁止root远程登录」:输入y,root仅本地登录,远程需创建普通用户;
  6. 「是否删除test数据库」:输入y,test库为默认测试库,无实际用途且有安全风险;
  7. 「是否重新加载权限表」:输入y,使所有配置生效。

六、MySQL远程访问配置

默认MySQL仅本地(127.0.0.1)监听,需配置监听地址、授权远程用户、放行阿里云安全组端口,才能实现远程工具(如Navicat、DBeaver)连接。

6.1 修改MySQL监听地址

编辑配置文件,将bind-address从127.0.0.1改为0.0.0.0(允许所有IP访问)或指定内网IP:

Alibaba Cloud Linux/CentOS配置文件路径:

sudo vi /etc/my.cnf

Ubuntu/Debian配置文件路径:

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

找到`bind-address = 127.0.0.1`,修改为:

bind-address = 0.0.0.0

保存退出(vi编辑器按Esc,输入:wq回车),重启MySQL服务使配置生效:

Alibaba Cloud Linux/CentOS系统:

阿里云Linux服务器安装MySQL完整指南

sudo systemctl restart mysqld

Ubuntu/Debian系统:

sudo systemctl restart mysql

6.2 创建远程用户并授权

root用户禁止远程登录,需创建普通用户,授权指定IP或所有IP访问,权限按需分配(ALL为所有权限):

本地登录MySQL:

mysql -u root -p

输入root密码后,执行授权命令:

授权所有IP访问(测试环境用,生产环境建议指定IP):

CREATE USER 'admin'@'%' IDENTIFIED BY 'Admin@123456';
GRANT ALL ON *.* TO 'admin'@'%';
FLUSH PRIVILEGES;

授权指定IP访问(生产环境安全配置):

CREATE USER 'admin'@'192.168.1.100' IDENTIFIED BY 'Admin@123456';
GRANT ALL ON mydb.* TO 'admin'@'192.168.1.100';
FLUSH PRIVILEGES;

命令说明:admin为用户名,%代表所有IP,mydb为指定数据库,Admin@123456为密码(符合强度要求)。

6.3 放行阿里云安全组3306端口

远程连接需放行MySQL默认端口3306,步骤如下:

  1. 登录阿里云控制台,进入「云服务器ECS」→「安全组」;
  2. 选择服务器绑定的安全组,点击「入方向」→「添加规则」;
  3. 协议类型:TCP,端口范围:3306/3306,授权对象:个人IP(如113.XX.XX.XX/32),避免0.0.0.0/0全网开放;
  4. 点击「确定」,规则即时生效。

七、MySQL常用管理命令

掌握以下命令,可快速完成MySQL的日常运维,包括服务启停、用户管理、数据库操作、日志查看等。

7.1 服务管理命令

# 启动服务
sudo systemctl start mysqld  # CentOS/Alibaba Cloud Linux
sudo systemctl start mysql   # Ubuntu

# 停止服务
sudo systemctl stop mysqld

# 重启服务
sudo systemctl restart mysqld

# 查看服务状态
sudo systemctl status mysqld

# 关闭开机自启
sudo systemctl disable mysqld

7.2 数据库与用户操作命令

# 本地登录MySQL
mysql -u root -p

# 查看所有数据库
SHOW DATABASES;

# 创建数据库
CREATE DATABASE IF NOT EXISTS mydb DEFAULT CHARSET utf8mb4;

# 删除数据库
DROP DATABASE IF EXISTS mydb;

# 查看所有用户
SELECT User,Host FROM mysql.user;

# 删除用户
DROP USER 'admin'@'%';

7.3 日志与配置查看命令

# 查看MySQL错误日志(CentOS/Alibaba Cloud Linux)
sudo tail -f /var/log/mysqld.log

# 查看MySQL配置文件路径
mysqld --help --verbose | grep 'Default options'

# 查看MySQL监听端口
ss -tlnp | grep :3306

八、MySQL数据备份与恢复

数据备份是生产环境必备操作,避免数据丢失,MySQL常用mysqldump工具实现备份与恢复。

8.1 数据库备份命令

# 备份单个数据库(mydb)
mysqldump -u root -p mydb > /home/mydb_20260610.sql

# 备份所有数据库
mysqldump -u root -p --all-databases > /home/all_db_20260610.sql

# 备份并压缩(节省空间)
mysqldump -u root -p mydb | gzip > /home/mydb_20260610.sql.gz

8.2 数据库恢复命令

# 恢复单个数据库
mysql -u root -p mydb < /home/mydb_20260610.sql

# 恢复压缩备份文件
gunzip < /home/mydb_20260610.sql.gz | mysql -u root -p mydb

九、常见问题与解决方案

9.1 安装时提示「No package mysql-server available」

原因:未添加MySQL官方源或源未生效。解决方案:重新执行2.1节添加官方源命令,执行`yum repolist enabled | grep mysql`验证源是否生效。

阿里云Linux服务器安装MySQL完整指南

9.2 远程连接提示「连接超时」

原因:安全组未放行3306端口、MySQL监听地址为127.0.0.1、服务器防火墙拦截。解决方案:检查安全组规则、修改bind-address为0.0.0.0、关闭服务器防火墙(sudo systemctl stop firewalld)。

9.3 忘记root密码

解决方案:

  1. 停止MySQL服务:sudo systemctl stop mysqld;
  2. 跳过权限验证启动:sudo mysqld --skip-grant-tables &;
  3. 本地登录修改密码:mysql -u root,执行`ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';`;
  4. 重启服务:sudo systemctl restart mysqld。

9.4 安装时提示GPG签名校验失败

原因:未导入官方GPG密钥。解决方案:执行`sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022`导入密钥后重新安装。

十、总结

本文详细完成了阿里云Linux服务器(Alibaba Cloud Linux、CentOS、Ubuntu)MySQL 8.0的全流程部署,从环境准备、源配置、安装启动、安全加固、远程访问到日常运维与故障排查,覆盖新手部署的所有核心环节。生产环境中,需严格遵循安全规范:禁止root远程登录、放行指定IP端口、定期备份数据、设置高强度密码,确保MySQL数据库安全稳定运行。

常见问答

Q1:阿里云Linux服务器默认支持哪个MySQL版本?
A1:默认源不含MySQL,需添加官方源安装8.0版本,Ubuntu默认源可直接安装8.0。

Q2:MySQL安装后无法启动,如何排查?
A2:查看错误日志(/var/log/mysqld.log),常见原因是依赖缺失、端口冲突、配置文件错误,针对性解决即可。

Q3:远程连接MySQL时,密码正确但提示权限拒绝?
A3:未授权远程用户或授权IP不匹配,需执行CREATE USER和GRANT命令授权对应IP。

Q4:Alibaba Cloud Linux和CentOS的MySQL安装命令是否通用?
A4:基本通用,仅Alibaba Cloud Linux 3需额外安装compat-openssl10依赖包。

Q5:如何设置MySQL开机自启?
A5:执行sudo systemctl enable mysqld(CentOS/Alibaba Cloud Linux)或sudo systemctl enable mysql(Ubuntu)。

Q6:生产环境中,MySQL 3306端口如何安全放行?
A6:阿里云安全组入方向规则,协议选TCP,端口3306,授权对象设为办公网IP或固定IP,禁止0.0.0.0/0全网开放。

相关文章

揭秘购买阿里云:阿里云代理返点返佣和官网购买,哪个更划算?

揭秘购买阿里云:阿里云代理返点返佣和官网购买,哪个更划算?

文章标题:揭秘购买阿里云:官网购买VS阿里云代理返点返佣,哪个更划算? 在互联网飞速发展的今天,云服务成为了众多企业和个人用户的基础设施。作为国内云服务市场的佼佼者,阿里云以其强大的服务能力…

买阿里云服务器能便宜吗?十年代理揭秘 3 大省钱攻略!

买阿里云服务器能便宜吗?十年代理揭秘 3 大省钱攻略!

作为深耕阿里云代理领域 10 年的 “老司机”,经常被问到:“买阿里云服务器能便宜吗?有没有优惠价格?” 今天就用实打实的行业经验告诉你:不仅能便宜,选对渠道还能省一大笔! 这篇文章带你解锁阿里云服务…

做了 10 年腾讯云代理,我想跟你聊聊返佣那些事儿​

做了 10 年腾讯云代理,我想跟你聊聊返佣那些事儿​

最近总有朋友问我:“腾讯云有返点吗?腾讯云服务器能拿佣金不?返佣比例到底有多少?” 作为一个在腾讯云代理行业摸爬滚打了 10 年的 “老人”,今天就来跟大家好好…

阿里云代理商返佣机制深度解析:头部代理优势与企业合作策略

阿里云代理商返佣机制深度解析:头部代理优势与企业合作策略

阿里云代理商的核心价值定位1. 代理商的角色与职责阿里云代理商作为阿里云生态的核心合作伙伴,承担着双重核心职能:• 产品销售:负责推广销售阿里云全系列云产品,包括云服务器ECS、云数据库RDS、对象存…

阿里云代理商返佣机制深度解析:头部代理优势与企业合作策略

阿里云代理商返佣机制深度解析:头部代理优势与企业合作策略

01一、阿里云代理商的核心价值定位1. 代理商的角色与职责阿里云代理商作为阿里云生态的核心合作伙伴,承担着双重核心职能:• 产品销售:负责推广销售阿里云全系列云产品,包括云服务器ECS、云数据库RDS…

阿里云代理商有哪些?阿里云代理返点是真的么?

阿里云代理商有哪些?阿里云代理返点是真的么?

一,阿里云代理商基本介绍阿里云代理商通俗一点,就是指从事阿里云云服务器,云数据库等阿里云公有云产品销售的代理商,每销售一件阿里云公有云产品出去,阿里云给予该代理商一定比例的提成。在阿里云官方定义中,这…