Linux 上部署 MySQL 服务全面指南

作为 Linux 新手,部署 MySQL 服务是一个很好的学习实践。下面我将详细介绍两种主要的安装方式:解压安装和包管理器安装,并说明不同 Linux 发行版之间的区别。

一、包管理器安装 (install 安装)

这是最简单、推荐给新手的安装方式,不同 Linux 发行版使用的包管理器不同。

1. Ubuntu/Debian 系统

# 更新软件包列表
sudo apt update

# 安装 MySQL 服务器
sudo apt install mysql-server

# 启动 MySQL 服务
sudo systemctl start mysql

# 设置开机自启
sudo systemctl enable mysql

# 运行安全安装脚本
sudo mysql_secure_installation

2. CentOS/RHEL 系统

对于 CentOS 7/8 或 RHEL 7/8:

# 添加 MySQL Yum 仓库 (以 MySQL 8.0 为例)
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 安装 MySQL 服务器
sudo yum install mysql-community-server

# 启动 MySQL 服务
sudo systemctl start mysqld

# 设置开机自启
sudo systemctl enable mysqld

# 获取临时密码
sudo grep 'temporary password' /var/log/mysqld.log

# 运行安全安装脚本
sudo mysql_secure_installation

3. openSUSE/SLES 系统

# 添加 MySQL 仓库
sudo zypper addrepo https://dev.mysql.com/get/mysql80-community-release-sles12-3.noarch.rpm

# 安装 MySQL 服务器
sudo zypper install mysql-community-server

# 启动 MySQL 服务
sudo systemctl start mysql

# 设置开机自启
sudo systemctl enable mysql

# 运行安全安装脚本
sudo mysql_secure_installation

二、解压安装 (二进制安装)

这种方式适合需要自定义安装位置或版本的情况。

1. 下载 MySQL 二进制包

访问 MySQL 官网下载对应版本的二进制包:
https://dev.mysql.com/downloads/mysql/

选择 “Linux - Generic” 版本,例如:
mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz

2. 安装步骤

# 1. 安装依赖
sudo apt install libaio1 libnuma1   # Ubuntu/Debian
# 或
sudo yum install libaio numactl     # CentOS/RHEL

# 2. 创建 mysql 用户和组
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

# 3. 解压安装包
tar -xvf mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz
sudo mv mysql-8.0.xx-linux-glibc2.12-x86_64 /usr/local/mysql

# 4. 创建数据目录
sudo mkdir /usr/local/mysql/data
sudo chown -R mysql:mysql /usr/local/mysql

# 5. 初始化 MySQL
cd /usr/local/mysql
sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

# 记住输出的临时密码

# 6. 配置 SSL
sudo bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

# 7. 启动 MySQL
sudo bin/mysqld_safe --user=mysql &

# 8. 设置环境变量
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc
source ~/.bashrc

# 9. 登录并修改密码
mysql -uroot -p
# 输入临时密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

三、不同 Linux 服务器的区别

  1. 包管理器不同

    • Debian/Ubuntu:使用 aptdpkg
    • CentOS/RHEL:使用 yumdnf (RHEL 8+)
    • openSUSE/SLES:使用 zypper
  2. 服务名称不同

    • Debian/Ubuntu:mysql
    • CentOS/RHEL:mysqld
    • openSUSE/SLES:mysql
  3. 默认配置文件位置

    • 主配置文件通常都是 /etc/my.cnf/etc/mysql/my.cnf
    • Debian 系可能在 /etc/mysql/mysql.conf.d/mysqld.cnf
  4. 初始化方式

    • Debian/Ubuntu:安装后自动初始化
    • CentOS/RHEL:首次启动时初始化,生成临时密码
    • 二进制安装:需要手动初始化

四、安装后基本配置

无论哪种安装方式,安装后都应进行基本配置:

  1. 运行安全脚本

    sudo mysql_secure_installation
    

    这会设置 root 密码、移除匿名用户、禁止 root 远程登录等。

  2. 创建新用户(可选):

    CREATE USER '用户名'@'%' IDENTIFIED BY '密码';
    GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    
  3. 配置远程访问

    • 修改 /etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf
    • 注释掉 bind-address = 127.0.0.1
    • 重启 MySQL 服务

五、总结建议

  • 新手推荐:使用包管理器安装,简单且易于维护
  • 高级用户:二进制安装适合需要特定版本或自定义配置的情况
  • 生产环境:建议使用官方仓库或 Docker 容器化部署

安装完成后,可以通过 mysql -u root -p 登录 MySQL 服务器验证安装是否成功。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐