1. 程式人生 > >yum 方式安裝MySQL5.7並配置遠端連線完整教程Linux(CentOS7)

yum 方式安裝MySQL5.7並配置遠端連線完整教程Linux(CentOS7)

轉載註明出處:https://blog.csdn.net/zouguo1211/article/details/83867896

前言

系統資訊:CentOS Linux release 7.5.1804 (Core)

MySQL版本:mysql-5.7

接下來的操作均是在root許可權下安裝配置,如果使用非root賬戶,涉及許可權要求,請使用sudo命令

由於在CentOS下裝MySQL5.7踩了不少坑,打算重新走一遍,記錄下來成功流程;

解除安裝自帶的Mariadb

三條命令即可

rpm -qa|grep maria*
yum -y remove maria*
rm -rf /var/lib/mysql/*

在這裡插入圖片描述
如果之前下載安裝過mysql,請也先解除安裝乾淨

下載安裝yum源

官網連結

選擇適合自己系統的版本
在這裡插入圖片描述
點選Download
在這裡插入圖片描述
複製連結地址,wget命令下載yum源

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

在這裡插入圖片描述
輸入命令安裝源:

yum -y install mysql80-community-release-el7-1.noarch.rpm

在這裡插入圖片描述

安裝Mysql伺服器

上述安裝的源,預設安裝Mysql8.0,我們需要修改下配置,來指定安裝5.7版本:

命令列輸入:

vim /etc/yum.repos.d/mysql-community.repo

在這裡插入圖片描述
儲存寫入;

然後輸入命令安裝伺服器==(此過程需要聯網)==:

yum -y install mysql-community-server

在這裡插入圖片描述

啟動Mysql服務

完成後,輸入命令啟動mysql服務,並檢視狀態:

systemctl start mysqld
systemctl status mysqld

在這裡插入圖片描述
啟動成功,接下來進入資料庫,首先要找到初始化的root預設密碼;

使用預設密碼登陸

輸入命令:

grep "password" /var/log/mysqld.log

在這裡插入圖片描述
使用root賬戶和預設密碼登陸:
在這裡插入圖片描述

修改預設密碼

此時,由於5.7版本開始的安全機制需要修改掉預設密碼才能對資料庫進行操作;

修改密碼:

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

調整密碼安全級別

由於5.7以後使用了validate-password外掛,如果沒有修改密碼安全級別的話,新密碼過於簡單就會報錯
在這裡插入圖片描述
如果是自己學習使用,不想設定過於複雜的密碼的話,我們可以降低級別

set global validate_password_policy=0;
set global validate_password_length=1;

設定完這兩句之後,便可以設定簡單密碼了;

具體說明請參考官網6.5.3密碼驗證外掛

建立新使用者並開啟遠端連線

建立使用者

首先建立一個使用者,由於5.7中mysql.user表沒有password欄位而是改為了authentication_string

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

其中host如果設為localhost表示在本地登陸,如果設為%,表示在任意ip都可登陸;
在這裡插入圖片描述

授權與撤銷授權

首先建立一個數據庫demoDB

CREATE DATABASE demoDB;

然後為[email protected]%使用者授權demoDB庫的所有許可權,並重新整理許可權;

GRANT all privileges ON demoDB.* TO 'root'@'%' IDENTIFIED BY 'panda';
flush privileges;

這裡的all privileges指所有許可權,可以用部分許可權名稱代替(這裡不作重點講授)

這裡的*指代demoDB庫的所有表
檢視使用者授權資訊

SHOW GRANTS FOR 'username'@'host';

撤銷授權命令

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

遠端登陸驗證

先開啟防火牆的3306埠,並重啟防火牆

firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld.service

連線測試:
在這裡插入圖片描述
連線成功:
在這裡插入圖片描述