$ wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm複製代碼
$ yum localinstall mysql57-community-release-el7-8.noarch.rpm 複製代碼
這一步纔是真正安裝mysqlmysql
$ yum install mysql-community-server複製代碼
$ systemctl start mysqld
$ systemctl enable mysqld
$ systemctl daemon-reload複製代碼
經過sql
systemctl status firewalld複製代碼
查看firewalld狀態,發現當前是dead狀態,即防火牆未開啓。安全
經過bash
systemctl start firewalld複製代碼
開啓防火牆,沒有任何提示即開啓成功。服務器
再次經過tcp
systemctl status firewalld複製代碼
查看firewalld狀態,顯示running即已開啓了。ide
若是要關閉防火牆設置,可能經過測試
systemctl stop firewalld複製代碼
這條指令來關閉該功能。
ui
$ firewall-cmd --zone=public --add-port=3306/tcp --permanent複製代碼
$ firewall-cmd --reload複製代碼
$ grep 'temporary password' /var/log/mysqld.log複製代碼
(1)修改密碼spa
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';或者mysql>set password for 'root'@'localhost'=password('MyNewPass4!');複製代碼
(2)查詢當前的密碼測試
mysql> show variables like '%password%';複製代碼
validate_password_policy:密碼安全策略,默認MEDIUM策略
策略 | 檢查規則 |
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 |
validate_password_dictionary_file:密碼策略文件,策略爲STRONG才須要
validate_password_length:密碼最少長度
validate_password_mixed_case_count:大小寫字符長度,至少1個
validate_password_number_count :數字至少1個 validate_password_special_char_count:特殊字符至少1個
(3)修改策略(將策略要求置爲LOW,長度要求置爲1)
set global validate_password_policy=0;
set global validate_password_length=1;複製代碼
經測試,最小長度爲4,設置爲1無效,不曉得爲何,後面再查詢下。
(4)重置密碼
alter user 'root'@'localhost' identified by '1234';複製代碼
密碼重置成功,可從新登陸。
mysql> GRANT ALL PRIVILEGES ON *.* TO '用戶名'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION;複製代碼
mysql 新設置用戶或更改密碼後需用flush privileges刷新MySQL的系統權限相關表,不然會出現拒絕訪問,還有一種方法,就是從新啓動mysql服務器,來使新設置生效。
(1)查看mysql IP和端口是否正常。
使用:netstat -anpt
(2)監聽得地址若是是:::3306或者是0.0.0.0:3306,表示監聽全部IP地址,這監聽狀態是正常。若出現127.0.0.0:3306,說明監聽的本地地址,須要在mysql配置文件中將bind-address選項設置爲bind-address = 0.0.0.0,重啓mysql。
(3)查看用於遠程訪問的mysql用戶權限是否正確。
在本地登入mysql服務器,
use mysql;複製代碼
SELECT user, host from mysql.user; 查看用於遠程訪問的mysql用戶host的權限,%表示容許全部機器訪問。若host爲127.0.0.1/localhost,那麼這個用戶就只能本機訪問,則須要將host改成%,能夠使用update user set host='%' where user='root';
(4)若是還不行看看某雲安全組3306是否開啓端口