Centos7安裝mysql8教程


 

網上的教程很多,我也參考了很多,以下是我實踐的步驟,真實有效。

 

1.配置Mysql 8.0安裝源:

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

 

 

 

2.安裝Mysql 8.0

sudo yum --enablerepo=mysql80-community install mysql-community-server

 

 

 

以下都選y

 

 

 

 

 

 

看到complete就是安裝完啦,是不是很簡單?

 

 

 

3.啟動mysql服務

安裝完的第一件事當然是啟動mysql服務啦

sudo service mysqld start

 

 

這樣就算啟動完了哦,不信?看下運行狀態:

service mysqld status

 

 

 

嗯,沒騙你吧。。。

 

4.查看root臨時密碼:

安裝完mysql之后,會生成一個臨時的密碼讓root用戶登錄,那么臨時密碼在哪里看呢?

輸入以下命令就可以啦:

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

 

 

我去,好復雜。。。

 

5.更改臨時密碼:

這個密碼估計也只有外星人能記得住了,作為地球人,第一件事就是改成我自己容易記得密碼啦。

先用臨時密碼登錄mysql

輸入:mysql -uroot -p

在Enter password:后面輸入密碼,注意輸入密碼的時候是看不到的喲,別擔心,直管輸完回車就行。

 

 

恭喜你,這樣就是登錄成功了。

先在我們要改密碼了喲:

輸入:ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

這里的new password要改成你自己的密碼喲,我想把密碼改成root,所以我輸入:ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

 

 

哎喲,提示密碼不滿足密碼驗證策略,也是,密碼太簡單了呢。

好吧,現在有2種選擇:

  1. 把密碼改復雜點,讓它符合密碼驗證策略,這個當然是最好的,符合國際慣例;
  2. 把密碼驗證策略改簡單點,讓它適用簡單的密碼,這個符合懶人的做法。

額,作為一個上進的人,那我就選擇2吧。

 

那我們先看看當前的密碼驗證策略是怎么樣的吧。

輸入:SHOW VARIABLES LIKE 'validate_password.%';

 

 

我去,重置密碼之前還不讓看。。。直接看官方文檔吧:

 

 

 

validate_password.length 是密碼的最小長度,默認是8,我們把它改成4

 

set global validate_password.length=4;

 

 

 

validate_password.policy 驗證密碼的復雜程度,我們把它改成0

 

set global validate_password.policy=0;

 

 

 

validate_password.check_user_name 用戶名檢查,用戶名和密碼不能相同,我們也把它去掉

 

 

 

set global validate_password.check_user_name=off;

 

 

 

現在再執行修改密碼的命令:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

 

 

成功了,密碼設成了root,但是我建議大家還是設個復雜點密碼,不要這么懶哦。

 

6.配置遠程訪問

用mysql客戶連接報不允許連接的錯誤,那是因為沒開通遠程訪問的權限哦。

 

 

百度上基本說執行

GRANT ALL ON *.* TO 'root'@'%'; 就行了,但是一不下心報了個錯:

 

 

看下默認MySQL用戶:

use mysql;

select host, user, authentication_string, plugin from user;

 

 

發現root的host是localhost,不是%哦,那我們就加個host是%的root賬號:

CREATE USER 'root'@'%' IDENTIFIED BY 'root';

 

 

再查下用戶

select host, user, authentication_string, plugin from user;

 

 

 

可以看到已經新增了host為%的root用戶

然后再執行:

GRANT ALL ON *.* TO 'root'@'%';

 

 

成功了耶,嘿嘿。

連接成功:

 

 

 

7.navicat連接mysql

用navicat連接mysql還是會報錯:

 

 

原因是mysql8的加密方式規則不一樣,是caching_sha2_password

 

 

 

把加密方式改成mysql_native_password就行了:

ALTER USER '[用戶名]'@'%' IDENTIFIED WITH mysql_native_password BY '[密碼]';

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

 

 

加密方式以及改成了mysql_native_password:

 

 

 

 

 

這樣就可以了哦。大功告成!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM