基於centos7的MySQL5.7二進位制安裝包的邏輯升級

龍山游龍發表於2021-07-08

一、邏輯升級

1.1升級前準備

開啟mysql官網下載頁面:https: // downloads.mysql.com/archives/community/ ,下載要升級的對應版本的資料庫,並上傳到指定目錄。

檢查你的升級路徑,資料庫升級不支援跳過版本的升級,例如,不支援直接從MySQL 5.5升級到8.0。建議先升級到最新版本,再升級到下一版本。支援在發行系列中進行升級。

檢查你的配置檔案,檢視引數設定是否與新版本的資料庫相容。

1.2 備份資料

從舊的 MySQL 安裝匯出您的現有資料

shell> /mysql/mysql57/app/bin/mysqldump -u root -p -S /mysql/mysql57/product/data/mysql.sock--add-drop-table --routines –events --all-databases --force > /mysql/mysql57/data-for-upgrade.sql

1.3 關閉舊的MySQL伺服器

shell> /mysql/mysql57/app/bin/mysqladmin -u root -p -S /mysql/mysql57/product/data/mysql.sock shutdown

1.4 安裝新的MySQL 

解壓新的資料庫到指定目錄:

shell> tar zxvf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz -C /mysql/mysql571/app --strip-components=1

建立新的配置檔案

shell> mv /etc/my.cnf /etc/my.cnf.bak
shell> vim /mysql/mysql571/app/my.cnf
[mysqld]
user=mysql
port=33071
basedir=/mysql/mysql571/app
datadir=/mysql/mysql571/product/data
socket=/mysql/mysql571/product/data/mysql.sock
log_error=/mysql/mysql571/product/data/myerror.log
innodb_file_per_table=1
server_id=571
slow_query_log=1
log-bin=mysql-bin
binlog_format=ROW

實施過程中需要根據實際情況和需求自行新增和調整引數

 初始化MySQL5.7:

shell> cd /mysql/mysql571/app
shell> ./bin/mysqld --defaults-file=/mysql/mysql571/app/my.cnf --initialize
shell> tail /mysql/mysql571/product/data/myerror.log
2021-03-03T01:44:49.248365Z 1 [Note] A temporary password is generated for root@localhost: qdcf_Vl>k8LP

獲取資料庫初始登入臨時密碼:qdcf_Vl>k8LP

配置資料庫服務:

shell> cp /mysql/mysql571/app/support-files/mysql.server /etc/init.d/mysqld571
shell> vi /etc/init.d/mysqld571
basedir=/mysql/mysql571/app
datadir=/mysql/mysql571/product/data

啟動資料庫:

shell> /mysql/mysql571/app/bin/mysqld_safe --defaults-file=/mysql/mysql571/app/my.cnf --user=mysql &

修改root使用者密碼:

shell> /mysql/mysql571/app/bin/mysqladmin -uroot -p"qdcf_Vl>k8LP" -S /mysql/mysql571/product/data/mysql.sock password "Abcd321#"
shell> mysql -uroot -pAbcd321# -S /mysql/mysql571/product/data/mysql.sock

1.5 恢復資料到新資料庫

shell> mysql -u root -p -S /mysql/mysql571/product/data/mysql.sock --force < /mysql/mysql57/data-for-upgrade.sql

1.6 升級資料庫

mysql_upgrade檢查所有資料庫中的所有表,以檢查與當前版本的 MySQL 是否相容。 mysql_upgrade還升級了系統資料庫,以便您可以利用新的特權或功能。

shell> /mysql/mysql571/app/bin/mysql_upgrade -u root -p -S /mysql/mysql571/product/data/mysql.sock

1.7 重啟資料庫

關閉並重新啟動MySQL伺服器,以確保對系統表所做的所有更改均生效:

shell> /mysql/mysql571/app/bin/mysqladmin -u root -p shutdown
shell> /mysql/mysql571/app/bin/mysqld_safe --user=mysql --defaults-file=/mysql/mysql571/app/my.cnf &


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30310891/viewspace-2780234/,如需轉載,請註明出處,否則將追究法律責任。

相關文章