centos7安裝MySQL8步驟如下:
**1. 官網下載對應的MySQL8**
https://downloads.mysql.com/archives/community/

**2. 卸載centos7自帶的mariadb數據庫**
```shell
(1)查看是否存在mariadb
# rpm -qa | grep mariadb
mariadb-libs-5.5.35-3.el7.x86_64
(2)卸載mariadb
# rpm -e mariadb-libs-5.5.35-3.el7.x86_64 --nodeps
```
**3. 上傳到Linux上并解壓**
```shell
# tar -xvf mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar -C mysql8/
--解壓完成后有如下文件
-rw-r--r--. 1 7155 31415 40104640 Sep 23 2019 mysql-community-client-8.0.18-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 611436 Sep 23 2019 mysql-community-common-8.0.18-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 6915400 Sep 23 2019 mysql-community-devel-8.0.18-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 23683600 Sep 23 2019 mysql-community-embedded-compat-8.0.18-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 3877664 Sep 23 2019 mysql-community-libs-8.0.18-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 1363968 Sep 23 2019 mysql-community-libs-compat-8.0.18-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 450282440 Sep 23 2019 mysql-community-server-8.0.18-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 158001648 Sep 23 2019 mysql-community-test-8.0.18-1.el7.x86_64.rpm
```
**4. 安裝MySQL8**
```shell
--下面這4個文件是必須安裝的,其他是可選的
# rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm --nodeps --force
# rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm --nodeps --force
# rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm --nodeps --force
# rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm --nodeps --force
--查看已安裝資源
# rpm -qa | grep mysql
mysql-community-libs-8.0.18-1.el7.x86_64
mysql-community-server-8.0.18-1.el7.x86_64
mysql-community-common-8.0.18-1.el7.x86_64
mysql-community-client-8.0.18-1.el7.x86_64
```
**5. MySQL初始化**
```shell
(1)初始化
# mysqld --initialize
(2)賦予mysql操作 /var/lib/mysql 目錄的權限
--MySQL8核心配置文件默認在 /etc/my.cnf,默認數據存儲在 /var/lib/mysql
# chown mysql:mysql -R /var/lib/mysql
(3)啟動MySQL
# systemctl start mysqld
(4)查看MySQL是否已經啟動
# systemctl status mysqld
mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled)
Active: activating (start) since Wed 2021-09-29 17:06:36 CST; 1min 44s ago
(5)設置MySQL開機自啟
# systemctl enable mysqld
```
**6. 設置數據庫密碼**
```shell
(1)查看初始密碼
# cat /var/log/mysqld.log | grep password
... for root@localhost: M&npo4JrX9g!(類似這個就是初始密碼)
(2)登錄mysql
# mysql -u root -p
(3)設置mysql登錄密碼
mysql> alter USER 'root'@'localhost' IDENTIFIED BY '你的密碼';
(4)退出mysql
mysql> exit;
(5)重啟mysql
# systemctl restart mysqld
```
**7. 允許遠程訪問**
```
(1)允許所有主機遠程訪問數據庫
mysql> use mysql;
--root為用戶,%表示允許所有的主機遠程訪問root用戶這個數據庫
mysql> create user 'root'@'%' identified with mysql_native_password by 'abc@hPMq';
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
(2)更改加密規則
--mysql8之前加密規則為:mysql_native_password
--mysql8之后默認加密規則為:caching_sha2_password
--所以第三方工具訪問mysql8要么升級工具的mysql驅動包,要么使用mysql_native_password加密規則
mysql> alter user 'root'@'%' identified with mysql_native_password by 'abc@hPMq';
(3)刷新一下
mysql> flush privileges;
```
**8. 關閉防火墻**
```shell
(1)查看防火墻是否開啟,runing為開啟
# firewall-cmd --state
running
(2)關閉防火墻
# systemctl stop firewalld.service
(3)禁止防火墻開機自啟
# systemctl disable firewalld.service
(4)關閉selinux
# vim /etc/selinux/config
--將SELINUX=enforcing 改為 SELINUX=disabled
SELINUX=disabled
```
**9. 我使用SQLyog成功訪問到了數據庫**

**10. 安裝完畢!**
- MySQL
- MySQL是什么
- MySQL環境搭建
- centos7-MySQL8
- windows-MySQL8
- 數據庫軟件
- sqlyog軟件安裝
- navicat軟件安裝
- powerDesigner軟件安裝
- RDBMS術語
- SQL語句組成
- 數據庫系統組成
- 數據庫操作
- 數據表操作
- 查詢語句
- 基本語法
- 子查詢
- 表連接
- 查詢語句執行順序
- 事務
- 事務是什么
- 事務的作用
- 事務的4個特性
- 事務隔離級別
- 事務的實現
- 索引
- 索引的作用
- 索引操作
- 存儲引擎
- 備份與恢復
- 視圖
- 視圖是什么
- 視圖的作用
- 創建視圖
- 查看視圖
- 更改視圖
- DML操作視圖
- 刪除視圖
- 存儲過程與函數
- 過程與函數是什么
- 存儲過程操作
- 定義存儲過程
- 調用存儲過程
- 查看存儲過程
- 刪除存儲過程
- 修改存儲過程
- 函數操作
- 過程與函數區別
- 流程控制
- if語句
- case語句
- while循環語句
- repeat循環語句
- loop循環語句
- 變量
- 處理程序
- 光標
- Redis
- 簡介
- 下載與安裝
- 命令操作redis數據庫
- 通用命令
- 數據操作
- 持久化
- Windows上的持久化操作
- 數據庫設計
- 數據庫設計過程
- ER模型圖
- MongoDB
- MongoDB是什么?
- MongoDB特性
- MongoDB 數據模型
- 安裝MongoDB
- MongoDB認證
- Database操作
- Collection操作
- Document操作
- 插入
- 查詢
- 更新
- 刪除
- buckWrite
- MongoDB索引
- 副本集
- 聚焦分析
- 事務管理
- 寫關注
- 讀關注