轉自:https://www.cnblogs.com/luohanguo/p/9045391.html 並在此基礎上加些內容,本人親測下面步驟可用,有問題可留言
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
安裝結果
至此MySQL就安裝完成了,然後是對MySQL的一些設置。
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有密碼設置的規範,具體是與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操作都會自動更新,需要把這個卸載掉:
[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch
此時纔算真的完成了
yum安裝的mysql 目錄結構
路徑 | 說明 |
---|---|
/var/lib/mysql | mysql數據文件存放路徑,可自定義 |
/etc/my.cnf | mysql配置文件路徑 |
/usr/lib64/mysql | mysql庫文件路徑 |
/usr/bin/mysql* | mysql二進制可執行文件路徑 |
/etc/rc.d/init.d/mysqld | mysql服務管理腳本地址 |
/var/log/mysqld.log | mysql日誌文件路徑 |
設置數據庫用戶遠程連接授權
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'YYBrhr_2018' WITH GRANT OPTION;
授權之後,用nevicat檢查一下是否可以連接,如果不可以,可能是防火牆限制了。需要在防火牆裏面加開放數據庫端口的規則。另外,如果你的mysql是安裝在阿里雲服務器或者騰訊雲或其他雲服務器上,則要去雲服務器的控制檯上面配置安全組什麼的開通3306端口的訪問限制