<親測>CentOS7 安裝mysql8.0(YUM方式)
1.下載mysql源安裝包
shell> wget?http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
2.安裝mysql源
shell>?yum localinstall?mysql80-community-release-el7-1.noarch.rpm
3.檢查mysql源是否安裝成功
shell> yum repolist enabled | grep "mysql.*-community.*"
4.修改 vim /etc/yum.repos.d/mysql-community.repo源,改變默認安裝的mysql版本。比如要安裝5.6版本,將5.7源的enabled=1改成enabled=0。然后再將5.6源的enabled=0改成enabled=1即可。
5.安裝MySQL
shell> sudo yum install mysql-server --nogpgcheck
6.啟動MySQL服務(wù)
shell> systemctl start mysqld
7.開機啟動
shell> systemctl enable mysqld
shell> systemctl daemon-reload
8.修改root本地登錄密碼
?1)查看mysql密碼
shell> grep 'temporary password' /var/log/mysqld.log

2)連接mysql
shell>?mysql -uroot -p
3)修改密碼,注意:后面的分號一定要跟上
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@123';
或者:
mysql> set password for 'root'@'localhost'=password('Root@123');?
mysql> show variables like '%password%';

9.添加遠程登錄用戶
mysql> ?GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
PS:
這是 mysql 初始化時,使用臨時密碼,修改自定義密碼時,由于自定義密碼比較簡單,就出現(xiàn)了不符合密碼策略的問題。
一、密碼策略問題異常信息:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
解決辦法:
1、查看 mysql 初始的密碼策略,
輸入語句 show variables like '%password%'; 進行查看,
2、首先需要設(shè)置密碼的驗證強度等級,設(shè)置 validate_password_policy 的全局參數(shù)為 LOW 即可,
輸入設(shè)值語句 “ set global validate_password_policy=LOW; ” 進行設(shè)值,
3、當前密碼長度為 8 ,如果不介意的話就不用修改了,按照通用的來講,設(shè)置為 6 位的密碼,設(shè)置 validate_password_length 的全局參數(shù)為 6 即可,
輸入設(shè)值語句 “ set global validate_password_length=6; ” 進行設(shè)值,
4、現(xiàn)在可以為 mysql 設(shè)置簡單密碼了,只要滿足六位的長度即可,
輸入修改語句 “ ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’; ” 可以看到修改成功,表示密碼策略修改成功了?。。?/p>
注:在默認密碼的長度最小值為 4 ,由 大/小寫字母各一個 + 阿拉伯數(shù)字一個 + 特殊字符一個,
只要設(shè)置密碼的長度小于 3 ,都將自動設(shè)值為 4 ,
關(guān)于 mysql 密碼策略相關(guān)參數(shù);
1)、validate_password_length 固定密碼的總長度;
2)、validate_password_dictionary_file 指定密碼驗證的文件路徑;
3)、validate_password_mixed_case_count 整個密碼中至少要包含大/小寫字母的總個數(shù);
4)、validate_password_number_count 整個密碼中至少要包含阿拉伯數(shù)字的個數(shù);
5)、validate_password_policy 指定密碼的強度驗證等級,默認為 MEDIUM;
關(guān)于 validate_password_policy 的取值:
0/LOW:只驗證長度;
1/MEDIUM:驗證長度、數(shù)字、大小寫、特殊字符;
2/STRONG:驗證長度、數(shù)字、大小寫、特殊字符、字典文件;
6)、validate_password_special_char_count 整個密碼中至少要包含特殊字符的個數(shù);
二、2059錯誤碼,原因:mysql8之前版本中加密規(guī)則為mysql_native_password,mysql8以后的加密規(guī)則為caching_sha2_password,將mysql用戶登錄加密規(guī)則修改為mysql_native_password即可!
1.進入doc: 點擊Window+R 輸入cmd
2.登陸數(shù)據(jù)庫:輸入mysql -uroot -p
3.輸入你的數(shù)據(jù)庫密碼,正確后顯示登陸成功 出現(xiàn)Welcome to the MySQL monitor.
4.輸入use mysql; 出現(xiàn)Database changed
5.輸入select user,host from user; 目的為了查看user的root 對應(yīng)host是什么 我的對應(yīng)為localhost
6.修改加密規(guī)則:輸入ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Root@123';
注:第一個root為數(shù)據(jù)庫用戶名 第二個root為數(shù)據(jù)庫密碼。切記換成自己的用戶名和密碼