在CentOS中默認安裝有MariaDB,這個是MySQL的分支,但為了需要,還是要在系統中安裝MySQL,而且安裝完成之后可以直接覆蓋掉MariaDB。
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
使用上面的命令就直接下載了安裝用的Yum Repository,大概25KB的樣子,然后就可以直接yum安裝了。
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
之后就開始安裝MySQL服務器。
[root@localhost ~]# yum -y install mysql-community-server
這步可能會花些時間,安裝完成后就會覆蓋掉之前的mariadb。
2 MySQL數據庫設置
首先啟動MySQL
[root@localhost ~]# systemctl start mysqld.service
查看MySQL運行狀態,運行狀態如圖:
[root@localhost ~]# systemctl status mysqld.service
此時MySQL已經開始正常運行,不過要想進入MySQL還得先找出此時root用戶的密碼,通過如下命令可以在日志文件中找出密碼:
[root@localhost ~]# grep "password" /var/log/mysqld.log
如下命令進入數據庫:
[root@localhost ~]# mysql -uroot -p
輸入初始密碼,此時不能做任何事情,因為MySQL默認必須修改密碼之后才能操作數據庫:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
這時候可能會報一個錯:密碼過於簡單等相關。
MySQL完整的初始密碼規則可以通過如下命令查看:
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password_check_user_name | OFF | | validate_password_dictionary_file | | | validate_password_length | 4 | | validate_password_mixed_case_count | 1 | | validate_password_number_count | 1 | | validate_password_policy | LOW | | validate_password_special_char_count | 1 | +--------------------------------------+-------+
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'; ” 可以看到修改成功,表示密碼策略修改成功了!!!
如下圖:
注:在默認密碼的長度最小值為 4 ,由 大/小寫字母各一個 + 阿拉伯數字一個 + 特殊字符一個,
只要設置密碼的長度小於 3 ,都將自動設值為 4 ,如下圖
關於 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 整個密碼中至少要包含特殊字符的個數;
3 開啟mysql的遠程訪問
執行以下命令開啟遠程訪問限制(注意:下面命令開啟的IP是 192.168.0.1,如要開啟所有的,用%代替IP):
grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'password' with grant option;
然后再輸入下面兩行命令
flush privileges;
exit
4 為firewalld添加開放端口
添加mysql端口3306和Tomcat端口8080
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@localhost ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
然后再重新載入
[root@localhost ~]# firewall-cmd --reload
5 更改mysql的語言
首先重新登錄mysql,然后輸入status:
可以看到,綠色箭頭處不是utf-8
因此我們先退出mysql,然后再到、etc目錄下的my.cnf文件下修改一下文件內容
保存更改后的my.cnf文件后,重啟下mysql,然后輸入status再次查看,你就會發現變化啦
最后,到Windows下用cmd命令啟動mysql啦!!