參考官方文檔:
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
本地環境:Centos7.6
1、到這個網址下載rpm包
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
找到對應的操作系統,進行下載,並安裝。
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
sudo yum localinstall mysql80-community-release-el7-3.noarch.rpm
2、使用MySQL Yum存儲庫時,默認情況下會選擇最新的GA系列(當前為MySQL 8.0)進行安裝
如果您的平台支持 yum-config-manager,則可以通過發出以下命令來實現,這些命令將禁用5.7系列的子存儲庫,並啟用5.6系列的子存儲庫。
我的操作系統中沒有yum-config-manager這個命令,需要安裝下,
yum -y install yum-utils
sudo yum-config-manager --enable mysql57-community
sudo yum-config-manager --disable mysql80-community
yum repolist all | grep mysql
使用此命令查看MySQL Yum存儲庫中的所有子存儲庫,並查看啟用或禁用了哪些子存儲庫.現在可以看到結果已經是
yum repolist enabled | grep mysql
通過運行這個命令並檢查其輸出,驗證是否已啟用和禁用正確的子存儲庫
【mysql57-community/x86_64 MySQL 5.7 Community Server 】
3、
3.1 安建MYSQL
sudo yum install mysql-community-server
3.2 啟動MYSQL
sudo service mysqld start
3.3 查看MYSQL運行狀態
sudo service mysqld status
3.4 查看安裝后初始化的root用戶密碼:
sudo grep 'temporary password' /var/log/mysqld.log
【2020-05-14T00:39:34.405840Z 1 [Note] A temporary password is generated for root@localhost: <HtnR(j4kcqc】
密碼就是:<HtnR(j4kcqc
3.5修改root用戶密碼
mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
報錯了,原因是太簡單了,換個復雜些的就OK了。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Chai@123456';
Query OK, 0 rows affected (0.00 sec)
官方對修改密碼的說明 :validate_password
默認情況下已安裝。實施的默認密碼策略validate_password
要求密碼至少包含一個大寫字母,一個小寫字母,一位數字和一個特殊字符,並且密碼總長度至少為8個字符。
3.6 退出數據庫,再使用新密碼登錄就可以了。
3.7 如果想使用簡單密碼,修改密碼為 123456 怎么辦?
SHOW VARIABLES LIKE 'validate_password%';
能看到初始密碼相關策略。
可以看到密碼長度短是8位,validate_password_policy級別是MEDIUM
set global validate_password_length=6;
set global validate_password_policy=LOW;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)
3.8 root用戶默認只能在本地登錄,修改為任意IP登錄。
mysql> select user,host from mysql.user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+-----------+
可以看到root用戶的host列是localhost,意味着只能在本地登錄。
mysql> update mysql.user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
修改完成后root用戶可以在任意客戶端連接數據庫。