CentOS7 通过 RPM 包安装 MySQL8


一. 下载RPM包

MySQL 社区版本下载
  1. 访问 MySQL 社区版本下载 页面,选择对应的操作系统和版本, 如 Red Hat Enterprise Linux / Oracle Linux , Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)
  2. 点击 RPM Bundle 右边的 Download 按钮, 进入下载页面.
  3. 点击 No thanks, just start my download., 下载 MySQL RPM 压缩包
  4. 将下载的压缩包上传至服务器, 或直接在服务器内使用 wget 命令下载压缩包

    # 根据实际情况更换链接
    # 鼠标在 No thanks, just start my download. 上方右键复制链接即可获取下载链接
    wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar

二. 解压并安装 MySQL

  1. 进入 MySQL8 RPM 压缩包目录, 如 /opt/mysql

    cd /opt/mysql
  2. 使用 tar 命令解压

    # 根据实际情况替换文件名
    tar -xvf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar
    
    # 使用 ll 或 ls -l 命令查看解压后目录文件
    [root@bogon mysql]# ll
    总用量 2007804
    -rw-r--r--. 1 root root  1027983360 4月  24 11:39 mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar
    -rw-r--r--. 1 7155 31415   16972740 3月  17 17:28 mysql-community-client-8.0.33-1.el7.x86_64.rpm
    -rw-r--r--. 1 7155 31415    3746004 3月  17 17:28 mysql-community-client-plugins-8.0.33-1.el7.x86_64.rpm
    -rw-r--r--. 1 7155 31415     680276 3月  17 17:28 mysql-community-common-8.0.33-1.el7.x86_64.rpm
    -rw-r--r--. 1 7155 31415  524492024 3月  17 17:29 mysql-community-debuginfo-8.0.33-1.el7.x86_64.rpm
    -rw-r--r--. 1 7155 31415    1969188 3月  17 17:29 mysql-community-devel-8.0.33-1.el7.x86_64.rpm
    -rw-r--r--. 1 7155 31415    4218852 3月  17 17:29 mysql-community-embedded-compat-8.0.33-1.el7.x86_64.rpm
    -rw-r--r--. 1 7155 31415    2219168 3月  17 17:29 mysql-community-icu-data-files-8.0.33-1.el7.x86_64.rpm
    -rw-r--r--. 1 7155 31415    1587536 3月  17 17:29 mysql-community-libs-8.0.33-1.el7.x86_64.rpm
    -rw-r--r--. 1 7155 31415     686272 3月  17 17:29 mysql-community-libs-compat-8.0.33-1.el7.x86_64.rpm
    -rw-r--r--. 1 7155 31415   67412732 3月  17 17:30 mysql-community-server-8.0.33-1.el7.x86_64.rpm
    -rw-r--r--. 1 7155 31415   25518376 3月  17 17:30 mysql-community-server-debug-8.0.33-1.el7.x86_64.rpm
    -rw-r--r--. 1 7155 31415  378469824 3月  17 17:32 mysql-community-test-8.0.33-1.el7.x86_64.rpm
  3. 使用 yum 安装 mysql

    yum install mysql-community-{server,client,client-plugins,icu-data-files,common,libs}-*
  4. 查看 MySQL 安装结果

    # 如能打印 MySQL Server 版本信息, 则代表安装成功
    mysql -V
  5. 启动 MySQL 服务并设置开机自启

    # 启动 MySQL 服务
    systemctl start mysqld
    # 设置开机自启
    systemctl enable mysqld

三. 修改默认密码

  1. 获取初始密码

    grep 'temporary password' /var/log/mysqld.log
    
    # A temporary password is generated for root@localhost: alo8OwuRGo?a
    #  root@localhost: 后的 alo8OwuRGo?a 即为默认密码
  2. 使用默认密码登录MySQL

    # -u: 用户, -p: 密码, 不建议直接在命令中输入
    # 回车后会提示输入密码, 密码不会回显, 输入完成后按回车即可登录完成
    mysql -uroot -p
  3. 修改默认密码

    -- 使用默认密码登录成功后会强制要求修改默认密码, 建议先修改默认密码后进行其他操作
    -- 默认密码校验规则需要同时拥有符号,字母,数字且超过8位, 可以通过 SHOW VARIABLES LIKE 'validate_password%'; 查看具体配置
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass@123';
  4. 修改默认密码校验策略(不建议)

    MySQL 默认密码校验规则需要同时拥有符号,字母,数字且超过8位, 可以通过修改密码校验规则的方式允许使用简单密码, 不建议在生产环境进行此配置
    -- 查看当前密码策略
    SHOW VARIABLES LIKE 'validate_password%';
Variable_nameValue
validate_password.check_user_nameON
validate_password.dictionary_file
validate_password.length8
validate_password.mixed_case_count1
validate_password.number_count1
validate_password.policyMEDIUM
validate_password.special_char_count1
-- 修改密码校验规则
set global validate_password.policy=LOW;
  1. root 账号开放外网访问(严重不建议)
MySQL 默认情况下 root 账户只能进行本地访问, 无法再外部通过网络访问. 可以通过配置 user 表中的 host 字段配置开启外部访问
严重不建议在生产环境进行此配置
-- 将 root 用户的 host 字段更改为 %
update user set host='%' where user ='root';

-- 刷新权限信息, 使上方修改生效
FLUSH PRIVILEGES;

四. 开放端口

如需通过网络访问 MySQL, 需要在防火墙(如已启动防火墙)配置放行MySQL端口(默认3306)
# 查看当前防火墙状态
# active (running) 即为已启动
systemctl status firewalld

# 查看当前已开放端口列表
firewall-cmd --zone=public --list-ports

# 开放MySQL端口(默认3306)
# --permanent: 永久生效
firewall-cmd --zone=public --add-port=3306/tcp --permanent

# 重载防火墙配置
firewall-cmd --reload

# 再次查看当前已开放端口列表
firewall-cmd --zone=public --list-ports
防火墙端口开放完成后,即可通过网络从外部进行访问.

发表评论