【shell 每日一練7】一鍵安裝mysql5.7,以及密碼及策略修改

旅行者-Travel發表於2018-10-13

一、一鍵安裝Mysql指令碼

[root@uat01 ~]# cat InstallMysql01.sh 
#!/bin/bash
#2018-10-13
#旅行者-Travel
#1.安裝wget
yum -y install  wget
#2、下載mysql的yum源
URL="https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm"
wget $URL -P /etc/yum.repos.d/
yum -y install yum-utils   #如果沒有該包,下邊執行yum-config-manager不生效
yum -y install /etc/yum.repos.d/mysql80-community-release-el7-1.noarch.rpm
    if [ $? -eq 0 ];then
        rm -rf /etc/yum.repos.d/mysql80-community-release-el7-1.noarch*
    fi
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
yum -y install mysql-community-server
    sleep 5
    systemctl start mysqld   
    systemctl enable mysqld
    systemctl status mysqld
    if [ $? -eq 0 ];then
        echo -e "install succefull"
        result="`grep `temporary password` /var/log/mysqld.log`"
        p1="`echo $result |awk `{print $NF}``"
        echo "資料庫密碼為:$p1"
    
    fi
[root@uat01 ~]# 

二、修改策略和密碼

執行完以上指令碼可以看到Mysql的密碼,如下方法登入修改策略,因為預設密碼要求比較高,可以根據自己需求來決定是否更改策略:

install succefull
資料庫密碼為:9aTR&ok>f;1K
[root@uat01 ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.7.23

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type `help;` or `h` for help. Type `c` to clear the current input statement.

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)

mysql>  alter user `root`@`localhost` identified by `Yanglt123.`;
Query OK, 0 rows affected (0.00 sec)

mysql>  flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit

 三、資料庫密碼策略:

1、檢視資料庫策略:

因為上文已經將 validate_password_length 值改為4,所以下文顯示為4,預設情況下為8

[root@uat01 ~]# mysql -uroot -p
.....
Server version: 5.7.23 MySQL Community 
...... 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.00 sec) mysql>

2、各項值說明

validate_password_policy:密碼安全策略,預設MEDIUM策略

策略 檢查規則
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

 

 

 

    

validate_password_dictionary_file:密碼策略檔案,策略為STRONG才需要

validate_password_length:密碼最少長度 ,測試發現最小值得為4。

validate_password_mixed_case_count:大小寫字元長度,至少1個

validate_password_number_count :數字至少1個 

validate_password_special_char_count:特殊字元至少1個

3、修改策略,跟上文第二操作一樣

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec),
mysql>  flush privileges;
Query OK, 0 rows affected (0.00 sec)

4、修改簡單密碼測試

mysql> alter user `root`@`localhost` identified by `1234`; #測試發現密碼長度最少為4位
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> quit
Bye
[root@uat01 ~]# mysql -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 5
Server version: 5.7.23 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type `help;` or `h` for help. Type `c` to clear the current input statement.

mysql> 

 

相關文章