在Linux系统中通过命令行安装MySQL是运维人员和开发者必备的技能之一。该过程涉及系统兼容性检查、软件包管理、依赖处理、安全配置等多个环节,需兼顾不同发行版的特性(如Ubuntu的APT、CentOS的YUM)。本文将从环境准备、仓库配置、安装执行、初始化设置等八个维度展开分析,并通过对比表格揭示不同平台的操作差异。

l	inux用命令安装mysql步骤


一、系统环境兼容性检查

安装前需确认操作系统版本、硬件资源及已安装软件的兼容性。

  • 通过uname -a查看内核版本,确保支持MySQL运行
  • 检查内存和磁盘空间(建议至少2GB内存+500MB可用空间)
  • 排查冲突端口(默认3306端口是否被占用)
检查项命令说明
内核版本uname -a确认系统类型(x86_64/aarch64)
内存状态free -h确保可用内存≥2GB
磁盘空间df -h检查/var/lib/mysql目录剩余空间
端口占用netstat -tuln | grep 3306避免与其他服务冲突

二、配置官方软件仓库

直接使用系统仓库可能导致版本过旧,需添加MySQL官方源或第三方源。

  • **Ubuntu/Debian**:
    wget https://repo.mysql.com/mysql-apt-config_0.8.24-1_all.deb  
    sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb
  • **CentOS/RHEL**:
    wget https://repo.mysql.com/RPM-GPG-KEY-mysql-2022  
    sudo rpm --import RPM-GPG-KEY-mysql-2022  
    sudo yum install mysql80-community-release
  • **通用方法**:手动创建仓库配置文件(/etc/yum.repos.d/mysql.repo)
发行版仓库配置方式默认版本
Ubuntu 20.04APT专用包+图形配置MySQL 8.0
CentOS 7RPM导入密钥+YUM仓库MySQL 8.0
Debian 11APT源+GPG密钥MySQL 8.0

三、安装依赖组件

MySQL运行依赖libaio、libnuma等库,需提前安装。

  • **通用依赖**:
    sudo apt install libaio1 libmecab2   # Ubuntu/Debian  
    sudo yum install libaio                # CentOS/RHEL
  • **编译环境依赖**(如需源码安装):
    sudo yum groupinstall "Development Tools"  
    sudo apt install build-essential
组件作用缺失影响
libaio异步I/O支持性能下降
libnuma内存分配优化高并发场景异常
zlib/gcc压缩/编译支持插件加载失败

四、执行安装命令

根据仓库配置选择对应安装指令,注意版本号参数。

  • **二进制安装**:
    sudo apt install mysql-server          # Ubuntu/Debian  
    sudo yum install mysql-community-server # CentOS/RHEL
  • **源码编译安装**:
    tar -xvf mysql-8.0.30.tar.gz  
    cd mysql-8.0.30 && cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost  
    make && sudo make install
安装方式优势适用场景
二进制包快速部署生产环境
源码编译定制优化开发测试
Docker镜像环境隔离多项目并行

五、初始化数据库文件

首次安装后需进行初始化操作,生成默认配置文件和数据目录。

  • **自动初始化**:
    sudo systemctl start mysqld   # CentOS/RHEL  
    sudo systemctl start mysql     # Ubuntu/Debian
  • **手动初始化**(源码安装时):
    mkdir /usr/local/mysql  
    cp support-files/my-default.cnf /etc/my.cnf  
    /usr/local/mysql/bin/mysqld --initialize --user=mysql
初始化方式数据目录日志路径
系统服务启动/var/lib/mysql/var/log/mysql
源码编译安装/usr/local/mysql/data/usr/local/mysql/logs
Docker部署/var/lib/mysql/var/log/mysql

六、安全配置与权限设置

默认root账户无密码且匿名用户可登录,需立即修改。

  • 运行安全脚本:
    sudo mysql_secure_installation
    按提示完成以下操作: - 设置root密码 - 删除匿名用户 - 禁止远程root登录 - 移除测试数据库
  • 手动修改配置文件(/etc/my.cnf):
    [mysqld]  
    bind-address = 127.0.0.1    # 仅允许本地连接  
    skip-symbolic-links         # 禁用软链接绕过权限
安全项配置方法风险等级
root密码mysql_secure_installation
匿名用户DELETE FROM mysql.user WHERE User=''
远程访问GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'

七、服务管理与自动化配置

配置系统服务自启并设置开机启动项。

  • **启用自启**:
    sudo systemctl enable mysqld      # CentOS/RHEL  
    sudo systemctl enable mysql        # Ubuntu/Debian
  • **查看服务状态**:
    systemctl status mysqld | grep Active
  • **日志监控**:配置/etc/rsyslog.conf追加:
    local0.* /var/log/mysql/error.log
    重启rsyslog服务:sudo systemctl restart rsyslog
操作CentOS命令Ubuntu命令
启动服务systemctl start mysqldsystemctl start mysql
停止服务systemctl stop mysqldsystemctl stop mysql
重启服务systemctl restart mysqldsystemctl restart mysql

八、验证安装与功能测试

通过客户端工具验证MySQL是否正常运行。

  • 登录数据库:
    mysql -u root -p
    输入密码后执行:SHOW VARIABLES LIKE 'version';
  • 创建测试数据库:
    CREATE DATABASE test_db; USE test_db; CREATE TABLE t1 (id INT PRIMARY KEY);
  • 远程连接测试(需开放防火墙):
    sudo firewall-cmd --permanent --add-port=3306/tcp   # CentOS  
    sudo ufw allow 3306                                 # Ubuntu
测试项命令/操作预期结果
版本查询SELECT VERSION();返回8.0.x或指定版本号
连接数限制SHOW VARIABLES LIKE 'max_connections';默认151(可调整)
字符集验证SHOW VARIABLES LIKE 'character_set%';utf8mb4(需配置)

通过以上八个步骤,可在主流Linux发行版中完成MySQL的命令行安装。不同平台的核心差异体现在包管理和服务命名上,而安全配置与初始化逻辑具有通用性。实际部署时需根据业务需求调整配置文件参数,并定期执行升级和维护操作。