Centos7 yum安裝MySQL5.7

配置 yum 源

https://dev.mysql.com/downloads/repo/yum/找到 yum 源 rpm 安裝包

安裝MySQL源

# 下載
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# 安裝 mysql 源
yum localinstall mysql57-community-release-el7-11.noarch.rpm

檢查 mysql 源是否安裝成功

yum repolist enabled | grep "mysql.*-community.*"

安裝MySQL

yum install -y mysql-community-server

啓動MySQL服務

systemctl start mysqld

查看MySQL狀態

systemctl status mysqld

設置開機啓動

systemctl enable mysqld
# 重載所有修改過的配置文件
systemctl daemon-reload

查看登陸密碼

mysql 安裝完成之後,生成的默認密碼在 /var/log/mysqld.log 文件中,使用 grep 命令找到日誌中的密碼

grep 'temporary password' /var/log/mysqld.log

首次通過初始密碼登錄後,使用以下命令修改密碼

mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; 

或者

mysql> set password for 'root'@'localhost'=password('MyNewPass4!'); 

也可以使用 update set 語句修改密碼

mysql> use mysql;
mysql> update user set password=PASSWORD('MyNewPass5!') where user='root';
mysql> flush privileges;

MySQL5.6.6版本之後增加了密碼強度驗證插件validate_password,默認密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。否則會提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 錯誤。使用了該插件會檢查設置的密碼是否符合當前設置的強度規則,若不滿足則拒絕設置。所以需要修改密碼強度的驗證機制:

如果你想設置爲弱密碼,也可以通過幾條命令實現修改

1) 查看mysql全局參數配置

這裏與mysql的validate_password_policy的值有關

查看一下msyql密碼相關的幾個全局參數:

mysql> select @@validate_password_policy;
+----------------------------+
| @@validate_password_policy |
+----------------------------+
|          MEDIUM            |
+----------------------------+
1 row in set (0.00 sec)

mysql> 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   |
+--------------------------------------+--------+
6 rows in set (0.08 sec)

2)參數解釋

validate_password_dictionary_file

插件用於驗證密碼強度的字典文件路徑

validate_password_length

密碼最小長度,參數默認爲8,它有最小值的限制,最小值爲:validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

validate_password_mixed_case_count

密碼至少要包含的小寫字母個數和大寫字母個數

validate_password_number_count

密碼至少要包含的數字個數

validate_password_policy

密碼強度檢查等級,0/LOW、1/MEDIUM、2/STRONG。有以下取值:

Policy                 Tests Performed                                                                            

0 or LOW               Length                                                                                      

1 or MEDIUM         Length; numeric, lowercase/uppercase, and special characters

2 or STRONG        Length; numeric, lowercase/uppercase, and special characters; dictionary file  

默認是1,即MEDIUM,所以剛開始設置的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字符

validate_password_special_char_count

密碼至少要包含的特殊字符數

3)修改mysql參數配置

mysql> set global validate_password_policy=0; 

Query OK, 0 rows affected (0.05 sec)


mysql> set global validate_password_mixed_case_count=0; 

Query OK, 0 rows affected (0.00 sec) 


mysql> set global validate_password_number_count=0; 

Query OK, 0 rows affected (0.00 sec) 


mysql> set global validate_password_special_char_count=0;

Query OK, 0 rows affected (0.00 sec)


mysql> set global validate_password_length=0;

Query OK, 0 rows affected (0.00 sec) 


mysql> SHOW VARIABLES LIKE 'validate_password%'; 

+--------------------------------------+-------+

| Variable_name                        | Value | 

+--------------------------------------+-------+
|validate_password_dictionary_file     |       |

| validate_password_length             |   0   |

| validate_password_mixed_case_count   |   0   |

| validate_password_number_count       |   0   | 

| validate_password_policy             |  LOW  |

| validate_password_special_char_count |   0   | 

+--------------------------------------+-------+
6 rows in set (0.00 sec)

4)修改簡單密碼

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
Query OK, 0 rows affected, 1 warning (0.00 sec)

配置遠程登陸

默認只允許root帳戶在本地登錄,如果要在其它機器上連接mysql,必須添加一個允許遠程連接的帳戶。或者修改 root 爲允許遠程連接,不推薦

添加一個允許遠程連接的帳戶

mysql> GRANT ALL PRIVILEGES ON *.* TO '賬號'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION;

修改 root 爲允許遠程連接(不推薦)

mysql> use mysql;
mysql> UPDATE user SET Host='%' WHERE User='root';
mysql> flush privileges;

設置默認編碼爲 utf8

mysql 安裝後默認不支持中文,需要修改編碼。
修改 /etc/my.cnf 配置文件,在相關節點(沒有則自行添加)下添加編碼配置,如下:

[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

重啓mysql服務,查詢編碼。可以看到已經改過來了

systemctl restart mysqld
mysql -uroot -p
mysql> show variables like 'character%';

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章