[TOC] #### 前言 --- 本文使用的操作系统: | 名称 | 描述 | 文章 | | ------------ | ------------ | ------------ | | Oracle VM VirtualBox | 虚拟机软件 | [VirtualBox 使用介绍](https://www.itqaq.com/index/627.html) | | CentOS-7-x86_64-Minimal-2009.iso | CentOS 7.9 最小化安装镜像文件 | [VirtualBox 安装 CentOS 7](https://www.itqaq.com/index/628.html) | 最开始学习 mysql 的时候,是在 windows 系统中,使用 mysql 压缩包,将 mysql 安装为系统服务 但在 linux 系统中,你可能不是很明确安装流程,本文记录其中一种方式,使用 yum 源安装 mysql,适用于 centos 系统 #### 安装 mysql --- ##### 1. 卸载系统自带 mariadb 查看并卸载系统自带的 MariaDB 数据库 ```bash rpm -qa | grep mariadb rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 ``` ![](https://img.itqaq.com/art/content/e599ae2db7e8d719e4fb0ca8b712f324.png) ##### 2. 下载 mysql 官网 yum 源 --- 由于 centos 的 yum 源中没有 mysql,需要到 mysql 官网下载 yum repo 配置文件 ```bash # wget 未安装时执行,已安装跳过即可 yum install wget -y # 下载 mysql 的 yum 源配置 wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm ``` ![](https://img.itqaq.com/art/content/38ee8f43309de94f7baa7bdf42333c25.png) ##### 3. 安装 mysql 官方的 yum 源 --- 运行以下命令 ```bash yum -y install mysql57-community-release-el7-11.noarch.rpm ``` ```bash [root@localhost ~]# yum -y install mysql57-community-release-el7-11.noarch.rpm 已加载插件:fastestmirror 正在检查 mysql57-community-release-el7-11.noarch.rpm: mysql57-community-release-el7-11.noarch mysql57-community-release-el7-11.noarch.rpm 将被安装 .... .... 已安装: mysql57-community-release.noarch 0:el7-11 完毕! ``` 命令执行完成后会在 `/etc/yum.repos.d` 目录下生成两个 repo 文件,如下图所示 ![](https://img.itqaq.com/art/content/f091cfca13abf9f50cf657700e5afe3c.png) ##### 4. 使用 yum 的方式安装 mysql --- 运行以下命令安装 ```bash yum install mysql-server -y ``` 安装过程中如果出现以下错误,运行下面的命令可以解决 ```bash rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 ``` ```bash [root@localhost ~]# yum -y install mysql-server ... ... mysql-community-server-5.7.44-1.el7.x86_64.rpm 的公钥尚未安装 失败的软件包是:mysql-community-server-5.7.44-1.el7.x86_64 GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql ``` #### 使用 mysql --- ##### a. 启动 mysql ```bash # 启动 mysql 服务 systemctl start mysqld # 查看 mysql 服务状态 systemctl status mysqld ``` ##### b. 获取临时密码 运行以下命令可以查看临时密码,如下图所示,临时密码为:`u)dJt5Wehpmi` ```bash cat /var/log/mysqld.log | grep password ``` ![](https://img.itqaq.com/art/content/43a362d869bb8cf905a274606b6a23ea.png) ##### c. 修改登录密码 使用刚才的临时密码登录 mysql ```bash mysql -uroot -p ``` 使用以下命令修改密码,`Liang1016@` 是我设置的密码 ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'Liang1016@'; ``` 当密码过于简单时,可能会遇到下面的错误提示,这是 mysql 的密码安全策略 ```sql mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Liang1016@'; Query OK, 0 rows affected (0.00 sec) ``` 如果要设置简单的密码,先运行以下命令,就可以使用长度大于等于6的简单密码了 ```sql set global validate_password_policy = 0; set global validate_password_length = 6; ``` ##### d. 设置远程访问 开启 mysql 的远程访问权限 ```sql -- 赋予 root 用户外部访问权限,123456 是 root 用户的密码 grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; -- 刷新权限 flush privileges; ``` 开放防火墙端口 3306,此时同一局域网下的电脑就可以通过局域网 IP 连接我的 mysql 了 ```bash # 查看防火墙状态 firewall-cmd --state # 开放 3306 端口 firewall-cmd --zone=public --add-port=3306/tcp --permanent # 立即生效 firewall-cmd --reload ```