天天看點

linux操作-centos下載下傳mysql

 在CentOS中預設安裝有MariaDB,這個是MySQL的分支,但為了需要,還是要在系統中安裝MySQL,而且安裝完成之後可以直接覆寫掉MariaDB。

1 下載下傳并安裝MySQL官方的 Yum Repository

[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。

linux操作-centos下載下傳mysql

至此MySQL就安裝完成了,然後是對MySQL的一些設定。

2 MySQL資料庫設定

  首先啟動MySQL

[root@localhost ~]# systemctl start  mysqld.service      

  檢視MySQL運作狀态,運作狀态如圖:

[root@localhost ~]# systemctl status mysqld.service      
linux操作-centos下載下傳mysql

  此時MySQL已經開始正常運作,不過要想進入MySQL還得先找出此時root使用者的密碼,通過如下指令可以在日志檔案中找出密碼:

[root@localhost ~]# grep "password" /var/log/mysqld.log      
linux操作-centos下載下傳mysql

  如下指令進入資料庫:

[root@localhost ~]# mysql -uroot -p      

  輸入初始密碼,此時不能做任何事情,因為MySQL預設必須修改密碼之後才能操作資料庫:

mysql> ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'new password\';      

 可能會出現

linux操作-centos下載下傳mysql

重新整理下flush privileges;再重新設定密碼

這裡有個問題,新密碼設定的時候如果設定的過于簡單會報錯:

linux操作-centos下載下傳mysql

  原因是因為MySQL有密碼設定的規範,具體是與validate_password_policy的值有關:

linux操作-centos下載下傳mysql

  MySQL完整的初始密碼規則可以通過如下指令檢視:

linux操作-centos下載下傳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)      
linux操作-centos下載下傳mysql

  密碼的長度是由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操作都會自動更新,需要把這個解除安裝掉:

[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch      

  此時才算真的完成了。