日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前言

在操作系統為centos的生產環境服務器需要進行等保2.0評測,使用綠盟科技的掃描軟件掃描后檢測出一大批漏洞,因此需要進行漏洞修復雖然報告中有一大堆的漏洞,但是細分下來分為MySQL數據庫方面

Mysql的漏洞可直接通過升級Mysql最新版本解決,以下通過模擬Mysql低版本5.7.28 到高版本 5.7.31 的升級做演示

 

安裝Mysql 5.7.28 版本

1. 官網獲取Mysql-5.7.28 的包.

Mysql5.7.28-Centos7 rpm 包下載地址: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

2. 上傳到Centos7中的/opt 路徑

3. 編寫一鍵安裝腳本

vim mysql5.7.28_install.sh
#!/bin/bash#RPM包位置https://dev.mysql.com/downloads/mysql/#選擇【Looking for the latest GA version?】#操作系統選擇Red Hat Enterprise linux /Oracle Linux#選擇第一個500多MB的tar包echo "================================"
echo "正在卸載Mysql"
echo "======================================"
rpm -e $(rpm -qa|grep -i mysql) --nodepsrpm -e $(rpm -qa|grep -i maria) --nodepsrpm -e $(rpm -qa|grep -i postfix) --nodepsecho "================================"
echo "正在安裝Mysql"
echo "======================================"
mkdir mysql5.7.28tar -xvf  mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C mysql5.7.28 && cd mysql5.7.28rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpmrpm -ivh mysql-community-embedded-compat-5.7.28-1.el7.x86_64.rpmrpm -ivh mysql-community-devel-5.7.28-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpmrpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm?echo "=========Mysql安裝成功============================="
systemctl start mysqld && systemctl enable mysqldnetstat -anp|grep 3306cat /var/log/mysqld.log   | grep 'temporary password'?echo "第一次登陸修改root密碼的語句是:"
echo "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1qe3!QE#';"
echo "創建遠程用戶的語句是:"
echo "grant all privileges on *.* to 'root'@"%" identified by '1qe3!QE#' with grant option;"
#grant all privileges on *.* to 'sdata1'@"%" identified by '1qe3!QE#' with grant option;
echo "創建新用戶"

4. 執行腳本

sh mysql5.7.28_install.sh

 

5. 登陸數據庫并修改賬號密碼

mysql -uroot -p
#輸入臨時密碼然后回車ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1qe3!QE#';      #修改本地管理員密碼
grant all privileges on *.* to 'root'@'%' identified by '1qe3!QE#' with grant option;   #創建遠程管理員,帶grant權限

6. 遷移Mysql存儲目錄

systemctl stop mysqld
mkdir /data_lvmmv /var/lib/mysql/ /data/lvm/

遷移Mysql存儲目錄后可以刪除/var/lib/mysql 但由于配置沒有改socket的位置,因此如果刪除了/var/lib/mysql目錄導致mysqld無法啟動

方法一:需要執行

mkdir /var/lib/mysql

chown -R mysql:mysql /var/lib/mysql

方法二:修改socket默認路徑

[mysqld]

socket=/data_lvm/mysql/mysql.sock

[mysql]

socket=/data_lvm/mysql/mysql.sock #不加的話使用本地的mysql命令登陸會報錯

7. 修改數據庫配置,與生產環境一致

datadir=/data_lvm/mysql
socket=/var/lib/mysql/mysql.sock
?# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
?log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
# szyd need to setsql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONcharacter-set-server=utf8mb4
collation-server=utf8mb4_general_cilower_case_table_names=1
#sql_policeplugin-load=validate_password.sovalidate_password_policy=2
validate_password_length=8
validate_password_mixed_case_count=1
validate_password_number_count=2
validate_password_special_char_count=1
validate-password=FORCE_PLUS_PERMANENT#WO-19 ser max_connection
max_connections=1000
#WO20 set wait-timeout
wait_timeout=28800
# start bin-loginit-connect=insert into accesslog.accesslog(id,time,localname,matchname) values (connection_id(),now(),user(),current_user())log_bin=/data_lvm/mysqllog/mysql_binbinlog-format=Rowserver-id=1
log-bin-trust-function-creators=1
#set connection-control
plugin-load-add=connection_control.soconnection-control=FORCEconnection-control-failed-login-attempts=FORCEconnection_control_min_connection_delay=1000
connection_control_max_connection_delay=86400
connection_control_failed_connections_threshold=3
#set  slow
slow_query_log=onslow_query_log_file=/var/lib/mysql/mysql-slow.log
#log_query_time=1
?[mysql]#sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

8. 同步數據

備份Mysql

備份的目的是避免數據丟失,一定要備份好才接下來操作。

  • 備份配置
  • 邏輯備份
  • 物理備份(數據卷,日志)

 

查看/etc/my.cnf,然后進行備份/etc/my.cnf 和Mysql存儲目錄(生產環境任何操作一定要先備份,在操作)

1. 備份配置文件

cp /etc/my.cnf   /home/cgt/mysqlbak/my.cnf

2. 備份邏輯文件

mysqldump -uroot -p --all-databases > all.sql   #全庫備份
mysqldump -uroot -p --databases XXX > XXX.sql   #業務庫備份

3. 停機后備份完整的數據文件

systemctl stop msyqld      #暫停Mysql                
tar -zcvf mysqlbak.tar.gz   /var/lib/mysql   # 數據卷歸檔

升級Mysql到5.7.31

1. 獲取最新版本

上mysql官網,下載最新版的rpm包。登陸 https://dev.mysql.com/downloads/mysql/ 網站默認是Mysql 8最新版本的 如果是用Mysql5.7的,點擊下圖紅色框框,

Centos7 Mysql5.7.28升級到5.7.31過程

 

根據自己的操作系統和位數進行選擇,這里是Centos7 64位。

Centos7 Mysql5.7.28升級到5.7.31過程

 

截至 2020/09/21,官網上 Mysql5.7 系列最新的版本為 5.7.31

下載地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

2. 上傳tar包到centos7的/opt 目錄

3. 編寫Mysql一鍵升級腳本

vim mysql5.7.31_upgrade.sh

這里我們使用先卸載的方法,RPM包雖然可以直接 rpm -Uvh 升級,但mysql中有6個rpm包,相互依賴,升級會報依賴的問題。

#!/bin/bash
#rpm包安裝的服務使用rpm -Uvh 升級
mkdir mysql5.7.31
tar xvf  mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar -C mysql5.7.31 && cd mysql5.7.31
rpm -Uvh mysql-community-common-5.7.29-1.el7.x86_64.rpm
rpm -Uvh mysql-community-libs-5.7.29-1.el7.x86_64.rpm
rpm -Uvh mysql-community-devel-5.7.29-1.el7.x86_64.rpm
rpm -Uvh mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm
rpm -Uvh mysql-community-client-5.7.29-1.el7.x86_64.rpm
rpm -Uvh mysql-community-server-5.7.29-1.el7.x86_64.rpm
#還原本來的my.cnf
mv /etc/my.cnf  /etc/my.cnf.bak  &&  mv /etc/my.cnf.rpmsave  /etc/my.cnf
#重新啟動Mysql并查詢進程
systemctl restart mysqld
netstat -anp|grep 3306

4. 執行腳本,一鍵更新

sh mysql5.7.31_upgrade.sh
Centos7 Mysql5.7.28升級到5.7.31過程

 

5. 升級Mysql系統表

mysql_upgrade  -uroot -p     #密碼和本來的一樣
#-s 參數是僅升級系統表的意思,避免數據庫升級后無法打開一些系統表
Centos7 Mysql5.7.28升級到5.7.31過程

 

6. 登陸數據庫驗證

mysql -uroot -p
Centos7 Mysql5.7.28升級到5.7.31過程

 

這個時候,完成Mysql的版本更新,漏洞也隨之消失了。

分享到:
標簽:升級 Mysql5 7.28
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定