centos7上安裝 mysql
centos7上的安裝是和其他的版本不一樣的 ,因為centos上的安裝與centos的操作是不通了的
在CentOS中預設安裝有MariaDB,這個是MySQL的分支,但為了需要,還是要在系統中安裝MySQL,而且安裝完成之後可以直接覆蓋掉MariaDB。
1、下載並安裝MySQL官方的 Yum Repository
[[email protected] ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
使用上面的命令就直接下載了安裝用的Yum Repository,大概25KB的樣子,然後就可以直接yum安裝了。
[[email protected] ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
之後就開始安裝MySQL伺服器。
[[email protected] ~]# yum -y install mysql-community-server
這步可能會花些時間,安裝完成後就會覆蓋掉之前的mariadb。
2 MySQL資料庫設定
首先啟動MySQL
[[email protected]~]# systemctl start mysqld.service
檢視MySQL執行狀態,執行狀態如圖:
[[email protected] ~]# systemctl status mysqld.service
時MySQL已經開始正常執行,不過要想進入MySQL還得先找出此時root使用者的密碼,通過如下命令可以在日誌檔案中找出密碼:
[[email protected] ~]# grep "password" /var/log/mysqld.log
如果上面的不行
更改密碼
MySQL 預設建立了 root 使用者的密碼,這個密碼列印在 MySQL 的日誌檔案/var/log/mysqld.log中,可以通過temporary password關鍵字來找出這個臨時的密碼。
grep 'temporary password' /var/log/mysqld.log
如下命令進入資料庫:
[[email protected] ~]# mysql -uroot -p
輸入初始密碼,此時不能做任何事情,因為MySQL預設必須修改密碼之後才能操作資料庫:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
這裡有個問題,新密碼設定的時候如果設定的過於簡單會報錯:
原因是因為MySQL有密碼設定的規範,具體是與validate_password_policy的值有關:
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 | +--------------------------------------+-------+ 7 rows in set (0.01 sec)
密碼的長度是由validate_password_length決定的,而validate_password_length的計算公式是:
validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
我的是已經修改過的,初始情況下第一個的值是ON,validate_password_length是8。可以通過如下命令修改:
mysql> set global validate_password_policy=0; mysql> set global validate_password_length=1;
設定之後就是我上面查出來的那幾個值了,此時密碼就可以設定的很簡單,例如1234之類的。到此資料庫的密碼設定就完成了。
但此時還有一個問題,就是因為安裝了Yum Repository,以後每次yum操作都會自動更新,需要把這個解除安裝掉:
[[email protected] ~]# yum -y remove mysql57-community-release-el7-10.noarch
此時才算真的完成了。