yum方式安裝及配置最新的mysql5.7

mushou發表於2018-08-06

1.刪除舊版本的MySQL

rpm -qa|grep -i mysql

用命令yum -y remove mysql

2.下載新版安裝源

下載mysql的repo源 這個安裝的mysql5.7.20  

# cd /usr/local/src/  

wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm  

# rpm -ivh mysql57-community-release-el7-8.noarch.rpm 

#  yum -y install mysql-server 

 yum –installroot=/usr/local/mysql –releasever=/ -y install mysql-server

 

3.安裝後的配置

 

 

 

預設配置檔案路徑: 
配置檔案:/etc/my.cnf 
日誌檔案:/var/log/var/log/mysqld.log 
服務啟動指令碼:/usr/lib/systemd/system/mysqld.service 
socket檔案:/var/run/mysqld/mysqld.pid

 

配置  my.cnf        vim /etc/my.cnf

[mysql]
default-character-set=utf8                                          #支援中文字元
[mysqld]
#skip-grant-tables                                                         #跳過授權表
server-id = 1
port = 3306                                                                    #埠
slow_query_log = 1                                                        #慢查詢開啟
slow_query_log_file = slow.log                                     #慢查詢日誌路徑
long_query_time = 8                                                      #慢查詢日誌最長時間
expire_logs_days = 5                                                      #日誌過期時間
log-bin=mysql-bin                                                          #二進位制日誌字首

 

4.  啟動mysql服務

service mysqld restart

mysql  -uroot  -p

登入不進去,在/etc/my.cnf檔案中   skip-grant-tables

mysql  -uroot

mysql> update mysql.user set authentication_string=password(`123456`) where user=`root` ;
flush privileges;

 顯示密碼Your password does not satisfy the current policy requirements

這個其實與validate_password_policy的值有關。

validate_password_policy有以下取值:

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,所以剛開始設定的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字元。

有時候,只是為了自己測試,不想密碼設定得那麼複雜,譬如說,我只想設定root的密碼為123456。

必須修改兩個全域性引數:

設定安全級別能解決這個問題

set global validate_password_policy=0;

select @@validate_password_length;

validate_password_length引數預設為8,它有最小值的限制,最小值為:

 

validate_password_number_count
+ validate_password_special_char_count
+ (2 * validate_password_mixed_case_count)

其中,validate_password_number_count指定了密碼中資料的長度,validate_password_special_char_count指定了密碼中特殊字元的長度,validate_password_mixed_case_count指定了密碼中大小字母的長度。

這些引數,預設值均為1,所以validate_password_length最小值為4,如果你顯性指定validate_password_length的值小於4,儘管不會報錯,但validate_password_length的值將設為4。如下所示:

 

當然,前提是validate_password外掛必須已經安裝,MySQL5.7是預設安裝的。

那麼如何驗證validate_password外掛是否安裝呢?可通過檢視以下引數,如果沒有安裝,則輸出將為空。

SHOW VARIABLES LIKE `validate_password%`;
沒有裝則顯示為空

set global validate_password_length=4;

問題解決。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

log-error=/var/log/mysqld.log                                      #錯誤日誌路徑 
pid-file=/var/run/mysqld/mysqld.pid                           #pid檔案路徑

datadir=/var/lib/mysql                                                   #資料目錄

socket=/var/lib/mysql/mysql.sock                                #sock檔案存放路徑

4.  啟動mysql服務

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

service mysqld restart

 

相關文章