1.安裝yum源
下載mysql yum源:
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
安裝:
yum localinstall mysql57-community-release-el7-11.noarch.rpm
檢查yum安裝是否成功:
yum repolist enabled | grep "mysql.*-community.*"
如果成功顯示內容如下:
2.yum 安裝mysql
yum install -y mysql-community-server
可能會出現Delta RPMs disabled because /usr/bin/applydeltarpm not installed警告導致安裝失敗,可以在執行安裝命令前執行下面兩個命令
yum provides '*/applydeltarpm'
yum -y install deltarpm
3.啓動mysql服務
systemctl start mysqld
查看mysql狀態
systemctl status mysqld
設置開機啓動
systemctl enable mysqld
systemctl daemon-reload
mysql 安裝完成之後,生成的默認密碼在 /var/log/mysqld.log
文件中。使用 grep 命令找到日誌中的密碼。
grep 'temporary password' /var/log/mysqld.log
通過初始密碼登錄後,使用以下命令修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassWord';
查看密碼強度規則
SHOW VARIABLES LIKE 'validate_password%';
validate_password_dictionary_file 插件用於驗證密碼強度的字典文件路徑。
validate_password_length 密碼最小長度,參數默認爲8,它有最小值的限制,最小值爲:validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
validate_password_mixed_case_count 密碼至少要包含的小寫字母個數和大寫字母個數。
validate_password_number_count 密碼至少要包含的數字個數。
validate_password_policy 密碼強度檢查等級,0/LOW、1/MEDIUM、2/STRONG。有以下取值:
Policy Tests Performed
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file
默認是1,即MEDIUM,所以剛開始設置的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字符。
validate_password_special_char_count 密碼至少要包含的特殊字符數。
修改密碼強度規則:
set global validate_password_policy=0;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=3;
set global validate_password_special_char_count=0;
set global validate_password_length=3;
遠程登錄用戶創建並授權
grant all privileges on *.* to 'new username'@'host' identified by '(密文密碼)';
flush privileges;
查看所有用戶、密文密碼、可登錄地址
select user,authentication_string,host from user;
生成密文字符串
select password ('123123'); //生成密文字符串
修改密碼
set password=password('123123'); //修改當前登陸用戶密碼
set password for 'username'@'host'=password('123456'); //修改其他用戶密碼
update mysql.user set authentication_string=password('abcabc') where user='root';//修改指定用戶的密碼
flush privileges;// 修改完成後刷新
用戶授權
GRANT all privileges ON databasename.tablename TO 'username'@'host';// 授權所有權限
GRANT SELECT ON databasename.tablename TO 'username'@'host';//授權查詢
REVOKE privilege ON databasename.tablename FROM 'username'@'host';//撤銷權限
show grants for 'username'@'host';//查看用戶權限信息