centos7系統安裝mysql8(親測)

centos7系統安裝mysql8(親測)

(centos是基於紅帽系統開發的)

step one:

.首先卸載centos7中自帶的mariadb

rpm -qa|grep mariadb //查詢出來已安裝的mariadb

rpm -e --nodeps 文件名 //卸載mariadb,文件名爲上述命令查詢出來的文件

3.查看是否已經安裝了mysql

    rpm -qa | grep -i mysql

查找mysql文件,使用rm -rf mysql文件路徑刪除

    find / -name mysql

刪除分散mysql文件

    find / -name mysql / # whereis mysql

刪除配置文檔

    rm -rf /etc/my.cnf

再次查找機器是否安裝mysql

    rpm -qa|grep -i mysql


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

step two:

.下載 rpm 包

在MySQL官網中下載YUM源rpm安裝包:http://dev.mysql.com/downloads/repo/yum/

在官網找到對應的 MySQL 的源,我們選擇 mysql80-community-release-el7-1.noarch.rpm 社區免費正式發佈版8.0

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

安裝 rpm 包

yum localinstall mysql80-community-release-el7-1.noarch.rpm

**(該步可能會報錯:warning: mysql80-community-release-el7-1.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY這是由於yum安裝了舊版本的GPG keys造成的 ) (解決方法:rpm --import /etc/pki/rpm-gpg/RPM*  引用後再安裝

vim /etc/yum.repos.d/mysql-community.repo  (找到 [mysql80-community] 確保 enabled=1)

查看是否安裝到位

yum repolist enabled | grep "mysql.*-community.*"

 

修改安裝版本(非必須)
如果需要安裝指定版本的mysql,可以修改/etc/yum.repos.d/mysql-community.repo源,改變默認安裝的mysql版本。

例如要安裝5.7版本,將5.7源的enabled=0改成enabled=1,將8.0的enabled=1改成enabled=0即可

安裝 mysql-server

yum install mysql-community-server  (太慢了)

#// 或yum install mysql-server

 

啓 MySQL 服務

systemctl start mysqld

設置開機啓動 

 systemctl enable mysqld

systemctl daemon-reload

ps:如果安裝好後  無法啓動   

1把 vim /etc/my.cnf 里加的東西先刪除 
2安裝後已經啓動mysql後有數據的需要刪除數據並初始化mysql 
刪除 MySQL的數據 /var/lib/mysql
 
rm -rf /var/lib/mysql


再重啓

 

5、修改root本地登錄密碼

mysql安裝完成之後,在/var/log/mysqld.log文件中給root生成了一個默認密碼。通過下面的方式找到root默認密碼,然後登錄mysql進行修改:

shell> grep 'temporary password' /var/log/mysqld.log

root默認密碼

shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; 

或者

mysql> set password for 'root'@'localhost'=password('MyNewPass4!'); 

注意:mysql8修改密碼策略

show global variables like '%validate_password%';

#驗證策略 0-->low  1-->MEDIUM  2-->strong
set global validate_password.policy=0;

#密碼最小長度
set global validate_password.length=3;

查看密碼策略(修改臨時密碼之後纔可查看)

show variables like 'validate_password%';

8之前 validate_password_     8之後validate_password.

修改密碼策略

set global validate_password.policy=0;(0或LOW代表低級)

密碼驗證策略低要求

set global validate_password.mixed_case_count=0;

 密碼至少要包含的小寫字母個數和大寫字母個數

set global validate_password.number_count=0; 

密碼至少要包含的數字個數。

set global validate_password.special_char_count=0; 

密碼至少要包含的特殊字符數

set global validate_password.length=6;  

密碼長度

 修改密碼

ALTER user 'root'@'localhost' IDENTIFIED BY '密碼'

密碼不能使用root

 

6、添加遠程登錄用戶

默認只允許root帳戶在本地登錄,如果要在其它機器上連接mysql,必須修改root允許遠程連接,或者添加一個允許遠程連接的帳戶,爲了安全起見,我添加一個新的帳戶:

mysql8和原來的版本有點不一樣,8的安全級別更高,所以在創建遠程連接用戶的時候,

不能用原來的命令(同時創建用戶和賦權):

mysql>grant all PRIVILEGES on *.* to guaiyouyisi@'%' identified  by '123456';

必須先創建用戶(密碼規則:mysql8.0以上密碼策略限制必須要大小寫加數字特殊符號):

mysql>create user guaiyouyisi@'%' identified  by 'Guaiyouyisi.';

再進行賦值:

mysql>grant all privileges on *.* to guaiyouyisi@'%' with grant option;

最後刷新一下:

mysql>flush privileges;

當你進行遠程連接是,會出現這樣的錯誤:

Unable to load authentication plugin 'caching_sha2_password'.

是因爲mysql8使用的是caching_sha2_password加密規則,最簡單的方法是修改遠程連接用戶的加密規則:

mysql>ALTER USER 'guaiyouyisi'@'%' IDENTIFIED WITH mysql_native_password BY 'Guaiyouyisi.';

7、配置默認編碼爲utf8

修改/etc/my.cnf配置文件,在[mysqld]下添加編碼配置,如下所示:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

重新啓動mysql服務,查看數據庫默認編碼如下所示:

mysql默認編碼


默認配置文件路徑: 
配置文件:/etc/my.cnf 
日誌文件:/var/log//var/log/mysqld.log 
服務啓動腳本:/usr/lib/systemd/system/mysqld.service 
socket文件:/var/run/mysqld/mysqld.pid

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章