yum 安裝Mysql8.0

系統: CentOS 7(在CentOS 7中默認有安裝MariaDB,這個是mysql的分支,通常來講仍是使用本身安裝的MySQL比較好)java

一、下載並安裝MySQLmysql

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

下載到指定位置後,就能夠執行安裝了sql

yum -y install mysql80-community-release-el7-3.noarch.rpm
yum -y install mysql-community-server

安裝完成後,以前的MariaDB就會被覆蓋掉數據庫

 

二、啓動MySQL學習

啓動MySQL服務:systemctl start  mysqld.service測試

查看MySQL服務:systemctl status  mysqld.servicespa

查看MySQL是否是開機自啓,能夠執行命令查看開機自啓列表code

systemctl list-unit-files|grep enabled

此時若是要進入MySQL得找出root用戶的密碼,輸入命令server

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

獲得密碼後,登陸mysql,輸入命令blog

mysql -uroot -p

而後回車,提示你輸入密碼,記得不要輸錯,輸入時密碼是不顯示的。登陸成功以下圖

此時,你須要給你的MySql從新設置密碼,由於MySQL默認的就是必須修改密碼後才能操做數據庫。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Left@zuo123.';

設置密碼的時候須要遵照MySQL密碼設置規範,若是不符合規範是不能修改爲功的。

以下圖,我將密碼設置爲123456,它提示我 密碼不符合規範

總之呢,咱們先將密碼設置成比較複雜的就好,好比 Abc@123...,先登陸了再說。

若是想要設置簡單好記的密碼,能夠修改密碼設置規範,畢竟你不登陸你就不能修改規範。

查看密碼規範

SHOW VARIABLES LIKE 'validate_password%';

 

密碼的長度是由validate_password_length決定的,而validate_password_length的計算公式是:
validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
這時候咱們將密碼設置規範修改一下:
set global validate_password.policy=0;
set global validate_password.length=1;

這時候就能夠設置簡單的密碼了,好比123456

最後一步,設置容許遠程鏈接。

若是直接使用命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'; 會提示一個語法錯誤,有人說是mysql8的分配權限不能帶密碼隱士建立帳號了,要先建立帳號再設置權限。也有的說8.0.11以後移除了grant 添加用戶的功能。

建立新用戶 admin

建立用戶:CREATE USER 'admin'@'%' IDENTIFIED BY '123456';
容許遠程鏈接:GRANT ALL ON *.* TO 'admin'@'%';
本人測試過,使用 update user set host = '%'  where user = 'root'; 也能夠修改

 若是使用客戶端鏈接提示了plugin caching_sha2_password錯誤,這是由於MySQL8.0的密碼策略默認爲caching_sha2_password

 使用命令修改策略

ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 

箭頭指的兩個用戶是我修改過的

 而後關閉防火牆,測試鏈接成功!!

文章爲學習記錄,若有錯誤,還望指出!!

相關文章
相關標籤/搜索