轉自:https://www.cnblogs.com/brianzhu/p/8575243.html
在CentOS7中默認安裝有MariaDB,這個是MySQL的分支,但爲了需要,還是要在系統中安裝MySQL,而且安裝完成之後可以直接覆蓋掉MariaDB。
1. 下載並安裝MySQL官方的 Yum Repository
1
|
[root@BrianZhu /] # wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
|
使用上面的命令就直接下載了安裝用的Yum Repository,大概25KB的樣子,然後就可以直接yum安裝了。
1
|
[root@BrianZhu /] # yum -y install mysql57-community-release-el7-10.noarch.rpm
|
下面就是使用yum安裝MySQL了
1
|
[root@BrianZhu /] # yum -y install mysql-community-server
|
這步可能會花些時間,安裝完成後就會覆蓋掉之前的mariadb。
出現這樣的提示表示安裝成功
2. MySQL數據庫設置
首先啓動MySQL
1
|
[root@BrianZhu /] # systemctl start mysqld.service
|
查看MySQL運行狀態,運行狀態如圖:
1
|
[root@BrianZhu /] # systemctl status mysqld.service
|
此時MySQL已經開始正常運行,不過要想進入MySQL還得先找出此時root用戶的密碼,通過如下命令可以在日誌文件中找出密碼:
1
|
[root@BrianZhu /] # grep "password" /var/log/mysqld.log
|
上面標記的就是初始密碼
如下命令進入數據庫:
1
|
[root@BrianZhu /] # mysql -uroot -p # 回車後會提示輸入密碼
|
輸入初始密碼,此時不能做任何事情,因爲MySQL默認必須修改密碼之後才能操作數據庫:
1
|
mysql> ALTER USER 'root' @ 'localhost' IDENTIFIED BY 'new password' ;
|
這裏有個問題,新密碼設置的時候如果設置的過於簡單會報錯:
原因是因爲MySQL有密碼設置的規範,具體是與validate_password_policy的值有關:
MySQL完整的初始密碼規則可以通過如下命令查看:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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 |
+ --------------------------------------+-------+
rows in set (0.01 sec)
|
密碼的長度是由validate_password_length決定的,而validate_password_length的計算公式是:
1
|
validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
|
解決方法就是修改密碼爲規範複雜的密碼:
1
2
3
4
|
mysql> ALTER USER 'root' @ 'localhost' IDENTIFIED BY 'z?guwrBhH7p>' ;
Query OK, 0 rows affected (0.00 sec)
mysql>
|
這時候我們要把密碼規則改一下,執行下面sql就可以了:
1
2
3
4
5
6
7
|
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
mysql>
|
設置之後就是我上面查出來的那幾個值了,此時密碼就可以設置的很簡單,例如1234之類的。到此數據庫的密碼設置就完成了。
但此時還有一個問題,就是因爲安裝了Yum Repository,以後每次yum操作都會自動更新,需要把這個卸載掉:
1
|
[root@BrianZhu ~] # yum -y remove mysql57-community-release-el7-10.noarch
|
配置算是完成了
開機啓動
shell> systemctl enable mysqld
shell> systemctl daemon-reload
可視化工具的登錄授權:(如果授權不成功,請查看防火牆)
操作完成上面的,現在還不能用可視化的客戶端進行連接,需要我們進行授權:
1
|
grant all on *.* to root@ '%' identified by '數據庫密碼' ;
|
注意:在外部訪問的時候需要開啓3306端口
大功告成!!!