mysql5.7版本與之前的許多細節有所不同(慎重安裝)
一、安裝YUM Repo
1、由於CentOS 的yum源中沒有mysql,需要到mysql的官網下載yum repo配置文件。
下載命令:
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
2、然後進行repo的安裝:
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
執行完成後會在/etc/yum.repos.d/目錄下生成兩個repo文件mysql-community.repo mysql-community-source.repo
二、使用yum命令即可完成安裝
注意:必須進入到 /etc/yum.repos.d/目錄後再執行以下腳本(千萬注意這裏)
1、安裝命令:
yum install mysql-server
2、啓動msyql:
systemctl restart mysql #重啓
systemctl stop mysql #停止
systemctl start mysqld #啓動MySQL
3、獲取安裝時的臨時密碼(在第一次登錄時就是用這個密碼):
grep 'temporary password' /var/log/mysqld.log
4、倘若沒有獲取臨時密碼,則
4.1、刪除原來安裝過的mysql殘留的數據
rm -rf /var/lib/mysql
4.2.再啓動mysql
4.1、刪除原來安裝過的mysql殘留的數據
rm -rf /var/lib/mysql
4.2.再啓動mysql
systemctl start mysqld #啓動MySQL
三、登錄:
1、方式一(已驗證):
mysql -u root -p
然後輸入密碼(剛剛獲取的臨時密碼)
2、方式二(未驗證):
進入mysql數據庫
(我用的是這種方式登錄的,隨機密碼中帶着個括號不知什麼原因無法登錄)
root@test:/home# mysql -uroot -proot <uroot是用戶名,proot是密碼>
3、若登錄不了,則進行以下配置,跳過登錄驗證
3.1、重置密碼的第一步就是跳過MySQL的密碼認證過程,方法如下:
3.2、vim /etc/my.cnf(注:windows下修改的是my.ini)
在文檔內搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim編輯狀態下直接輸入該命令可搜索文本內容)
在[mysqld]後面任意一行添加“skip-grant-tables”用來跳過密碼驗證的過程,如下圖所示:
(我這裏不需要,所以有#註釋掉了)
3.3、保存文檔並退出:
接下來我們需要重啓MySQL:
四、登錄成功後修改密碼
1、注意:這裏會進行密碼強度校驗(密碼設置時必須包含大小寫字母、特殊符號、數字,並且長度大於8位)
2、如不滿足以上條件則會報錯,如下圖:
1、查看 mysql 初始的密碼策略,
輸入語句 “ SHOW VARIABLES LIKE ‘validate_password%’; ” 進行查看,
如下圖:
2、首先需要設置密碼的驗證強度等級,設置 validate_password_policy 的全局參數爲 LOW 即可,
輸入設值語句 “ set global validate_password_policy=LOW; ” 進行設值,
如下圖:
3、當前密碼長度爲 8 ,如果不介意的話就不用修改了,按照通用的來講,設置爲 6 位的密碼,設置 validate_password_length 的全局參數爲 6 即可,
輸入設值語句 “ set global validate_password_length=6; ” 進行設值,
如下圖:
4、現在可以爲 mysql 設置簡單密碼了,只要滿足六位的長度即可,
輸入修改語句 “ ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’; ” 可以看到修改成功,表示密碼策略修改成功了!!!
這裏還有個小知識,之前小弟無法遠程連接
詳情點擊這裏=> 虛擬機或服務器設置遠程訪問
如下圖:
關於 mysql 密碼策略相關參數;
1)、validate_password_length 固定密碼的總長度;
2)、validate_password_dictionary_file 指定密碼驗證的文件路徑;
3)、validate_password_mixed_case_count 整個密碼中至少要包含大/小寫字母的總個數;
4)、validate_password_number_count 整個密碼中至少要包含阿拉伯數字的個數;
5)、validate_password_policy 指定密碼的強度驗證等級,默認爲 MEDIUM;
關於 validate_password_policy 的取值:
0/LOW:只驗證長度;
1/MEDIUM:驗證長度、數字、大小寫、特殊字符;
2/STRONG:驗證長度、數字、大小寫、特殊字符、字典文件;
6)、validate_password_special_char_count 整個密碼中至少要包含特殊字符的個數;
代碼千萬行,註釋第一行!
格式不規範,報錯兩行淚!