菜鸟科技网

安装mysql服务命令有哪些?

在Linux系统中,安装MySQL服务通常涉及多个步骤,包括下载安装包、初始化配置、启动服务以及设置安全选项等,以下将以CentOS 7系统为例,详细说明安装MySQL服务的完整命令和操作流程,同时涵盖不同安装方式(如官方Yum仓库、二进制包、源码编译)的注意事项,并通过表格对比不同安装方式的优缺点。

安装mysql服务命令有哪些?-图1
(图片来源网络,侵删)

通过官方Yum仓库安装MySQL(推荐方式)

对于CentOS/RHEL系统,使用MySQL官方Yum仓库是最简单且推荐的方式,能自动解决依赖问题并方便后续升级。

  1. 下载并添加MySQL Yum仓库
    首先访问MySQL官网获取适用于当前系统的Yum仓库包,以MySQL 8.0为例,执行以下命令:

    wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
    rpm -ivh mysql80-community-release-el7-7.noarch.rpm

    安装后可通过以下命令确认仓库是否添加成功:

    yum repolist enabled "MySQL-*" | grep "MySQL.*" | sort
  2. 安装MySQL服务器
    执行以下命令安装MySQL社区版服务器:

    安装mysql服务命令有哪些?-图2
    (图片来源网络,侵删)
    yum install mysql-community-server -y

    此命令会自动安装MySQL及相关依赖包,如mysql-community-clientmysql-community-common等。

  3. 启动并设置开机自启
    安装完成后,启动MySQL服务并设置为开机自启:

    systemctl start mysqld
    systemctl enable mysqld

    可通过systemctl status mysqld检查服务状态。

  4. 安全配置向导
    MySQL 8.0安装后会生成一个临时root密码,可通过以下日志查看:

    安装mysql服务命令有哪些?-图3
    (图片来源网络,侵删)
    grep 'temporary password' /var/log/mysqld.log

    执行安全配置向导(建议首次安装时运行):

    mysql_secure_installation

    根据提示设置root密码、移除匿名用户、禁止root远程登录、移除测试数据库、刷新权限等。

通过二进制包安装MySQL

如果无法使用Yum仓库(如离线环境),可选择官方提供的二进制包安装。

  1. 下载二进制包
    从MySQL官网下载适用于Linux的二进制压缩包(如mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz),并解压到/usr/local

    tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
    mv mysql-8.0.28-linux-glibc2.12-x86_64 /usr/local/mysql
  2. 创建用户和数据目录

    useradd -r -s /bin/false mysql
    mkdir -p /var/lib/mysql
    chown -R mysql:mysql /var/lib/mysql
  3. 初始化数据目录
    进入/usr/local/mysql/bin目录,执行初始化命令:

    ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql

    记录生成的临时root密码(同Yum安装方式)。

  4. 配置系统服务
    创建systemd服务文件/usr/lib/systemd/system/mysqld.service如下:

    [Unit]
    Description=MySQL Server
    After=network.target
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/var/lib/mysql
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target

    重新加载systemd并启动服务:

    systemctl daemon-reload
    systemctl start mysqld
    systemctl enable mysqld

通过源码编译安装MySQL(不推荐新手)

源码编译安装灵活性高但复杂,需提前依赖编译工具(如gcccmakencurses-devel等)。

  1. 安装依赖包

    yum groupinstall "Development Tools" -y
    yum install cmake ncurses-devel bison libaio-devel -y
  2. 下载并解压源码

    wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.28.tar.gz
    tar -xvf mysql-boost-8.0.28.tar.gz
    cd mysql-8.0.28
  3. 编译配置与安装
    执行cmake配置(根据需求调整参数):

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
          -DMYSQL_DATADIR=/var/lib/mysql \
          -DWITH_BOOST=boost \
          -DDEFAULT_CHARSET=utf8mb4 \
          -DDEFAULT_COLLATION=utf8mb4_general_ci \
          -DWITH_SYSTEMD=ON

    编译并安装:

    make -j$(nproc) && make install

    后续步骤参考二进制包安装中的初始化、配置服务部分。

不同安装方式对比

安装方式 优点 缺点 适用场景
Yum仓库 简单快速,自动依赖管理,易升级 需联网,版本固定 生产环境、常规服务器
二进制包 无需编译,离线可用,灵活性高 需手动管理依赖,升级复杂 离线环境、定制化需求
源码编译 可定制功能,性能优化 复杂,依赖多,编译时间长 开发测试、特殊功能需求

相关问答FAQs

Q1: 安装MySQL后如何修改root密码?
A1: 若已知root密码,可通过mysql -u root -p登录后执行:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

若忘记密码,需停止MySQL服务,跳过权限表启动(mysqld_safe --skip-grant-tables &),然后更新密码,重启服务并正常加载权限表。

Q2: 如何查看MySQL服务的运行状态和错误日志?
A2: 使用以下命令查看服务状态:

systemctl status mysqld

错误日志默认位于/var/log/mysqld.log,可通过以下命令实时查看:

tail -f /var/log/mysqld.log

若需自定义日志路径,修改/etc/my.cnf中的log-error参数。

分享:
扫描分享到社交APP
上一篇
下一篇