[TOC] #### 前言 --- 本文使用的操作系統: | 名稱 | 描述 | 文章 | | ------------ | ------------ | ------------ | | Oracle VM VirtualBox | 虛擬機軟件 | [VirtualBox 使用介紹](http://www.837wan.com/index/627.html) | | CentOS-7-x86_64-Minimal-2009.iso | CentOS 7.9 最小化安裝鏡像文件 | [VirtualBox 安裝 CentOS 7](http://www.837wan.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 ```