....................................................................
博客地址: https://keith666666.github.io/
...................................................................
Reason for this: 最近在CentOS上安裝MySQL的時候遇到了一點問題,花了點時間解決了,感覺不管是官網(wǎng)還是網(wǎng)上的一些教程都不夠完整,不能一次性幫新手解決問題,于是我就結(jié)合官網(wǎng)和網(wǎng)上的資源整理了下.
相關(guān)配置如下:
操作系統(tǒng): CentOS 7.2
MySQL版本: 5.7.x
1. 下載安裝
1.1 下載rpm包
選擇相應(yīng)的版本:系統(tǒng)版本和包版本. 系統(tǒng)版本可以通過uname -a來查看:
wget http://repo.mysql.com//mysql57-community-release-el7-9.noarch.rpm
1.2 下載安裝軟件源
sudo yum localinstall platform-and-version-specific-package-name.rpm
platform-and-version-specific-package-name.rpm這個就是跟上面那個匹配的,對于上例來說也就是mysql57-community-release-el7-9.noarch.rpm.
說明: 這個操作是會將MySQL Yum repository添加到系統(tǒng)的repository list,還會下載GnuPG key來檢查軟件包的完整性.
可以查看系統(tǒng)是否添加了該源:
shell> yum repolist all | grep mysql
通過上述命令的輸出結(jié)果來判斷.
1.3 安裝MySQL
sudo yum install mysql-community-server
1.4 啟動MySQL Server
sudo systemctl start mysqld
可以查看server運行狀況
systemctl status mysqld
- 要讓mysql開機啟動可以通過該命令設(shè)置:
systemctl enable mysqld.service- 注意是
mysqld,有個d.
1.5 初始化設(shè)置
mysql_secure_installation
該命令會要你設(shè)置一些密碼等信息.
到這里所有步驟都走完了,如果有問題可以參考下面.
2. 問題
Q1. 初始化要求登錄密碼:
原因: MySQL 5.7及以上在安裝的時候會生成一個隨機的臨時密碼,存在這里: /var/log/mysqld.log,可以通過下面方法來獲取該密碼:
sudo grep 'temporary password' /var/log/mysqld.log
Q2. 設(shè)置密碼出現(xiàn) Password Policy問題
也就是為什么不能設(shè)置6位密碼的問題.
原因: MySQL里帶了一個密碼驗證的插件來防止密碼設(shè)置過于簡單.
可以先設(shè)置一個復(fù)雜的密碼,然后再修改密碼要求后再改成簡單的,這個復(fù)雜密碼的要求是:
1. 特殊字符
2. 大小寫字母
3. 數(shù)字
4. 長度8位
這里給個示范密碼:!Aa112233.
在用新的密碼登錄之后,先查看密碼相關(guān)的變量:
SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+--------------------------------------+--------+
上面的這些變量就是關(guān)于密碼的限制,這個可以改:
mysql> SET GLOBAL validate_password_policy = LOW;
mysql> SET GLOBAL validate_password_length = 6;
mysql> SET GLOBAL validate_password_number_count = 0;
mysql> SET GLOBAL validate_password_mixed_case_count = 0;
mysql> SET GLOBAL validate_password_special_char_count = 0;
然后可以設(shè)置6位的密碼了.