日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql5.6.40升级到mysql8.0.11 的步骤

發布時間:2025/3/20 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql5.6.40升级到mysql8.0.11 的步骤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

環境:
操作系統: rhel7.5

目標:
mysql?5.6.22升級到mysql 8.0.11

mysql5.6.40升級到mysql8.0.11,不能直接升級,如果直接升級8.0.11,啟動會報以下不支持redo log?format?錯誤:

2018-07-08T09:42:27.773497Z 1 [ERROR] [MY-013090] [InnoDB] InnoDB: Unsupported redo log?format?(0). The redo log was created before MySQL 5.7.9
2018-07-08T09:42:27.773552Z 1 [ERROR] [MY-012930] [InnoDB] InnoDB:?Plugininitialization aborted with error Generic error.
2018-07-08T09:42:28.377597Z 1 [ERROR] [MY-011013] [Server] Failed to?initialize?DD Storage Engine.
2018-07-08T09:42:28.378527Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2018-07-08T09:42:28.378601Z 0 [ERROR] [MY-010119] [Server] Aborting

正確的升級路徑為:

mysql5.6.40-->mysql5.7.22-->mysql8.0.11

以下為具體的步驟。
1.準備步驟

--建立軟件存儲目錄
mkdir?/setup/mysql

--建立軟件及數據目錄
mkdir /data/db -p
mkdir?/mysql

--建立mysql組和用戶

groupadd mysql
useradd -g mysql mysql

--修改權限
chown -R mysql:mysql /data/db /mysql
chmod -R 775 /data/db /mysql

--軟件上傳到 /setup/mysql
ls -ltr /setup/mysql
-rw-r--r--. 1 root root 594580226 Jul 7 22:35 mysql-8.0.11-el7-x86_64.tar.gz
-rw-r--r--. 1 root root 328563044 Jul 8 15:05 mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
-rw-r--r--. 1 root root 712729170 Jul 8 18:07 mysql-5.7.22-el7-x86_64.tar.gz

--解壓軟件
--切換到mysql用戶登陸
su - mysql

--進入到 /mysql

cd /mysql
--解壓5.6.40

tar xzvf?/setup/mysql/mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz -C /mysql
mv mysql-5.6.40-linux-glibc2.12-x86_64 mysql-5.6.40

--解壓5.7.22
tar xzvf /setup/mysql/mysql-5.7.22-el7-x86_64.tar.gz -C /mysql
mv mysql-5.7.22-el7-x86_64 mysql-5.7.22

--解壓8.0.11
tar xzvf?/setup/mysql/mysql-8.0.11-el7-x86_64.tar.gz -C /mysql

mv mysql-8.0.11-el7-x86_64 mysql-8.0.11

2.啟動5.6.40
cd /mysql/mysql-5.6.40

--初始化mysql --以 mysql用戶 完成
$ ./scripts/mysql_install_db--basedir=/mysql/mysql-5.6.40 --datadir=/data/db/--log-error=/data/db/mysql-error.log --socket=/data/db/mysql.sock --user=mysql?

啟動mysql server:

$ ./bin/mysqld_safe--basedir=/mysql/mysql-5.6.40 --datadir=/data/db/--log-error=/data/db/mysql-error.log --socket=/data/db/mysql.sock &



修改mysql實例root口令:

./bin/mysqladmin -uroot -S/data/db/mysql.sock password 'mysql'



3.mysql 5.6.40升級到5.7.22
3.1 停 mysql server 5.6:

$ cd /mysql/mysql-5.6.40

$ ./bin/mysql -uroot -p -S /data/db/mysql.sock

修改global變量innodb_fast_shutdown=0:

mysql> set globalinnodb_fast_shutdown=0;

--關閉數據庫

$ ./bin/mysqladmin -uroot -p -S/data/db/mysql.sock shutdown



3.2 通過mysql server 5.7啟動mysql實例:

$ cd /mysql/mysql-5.7.22

$ ./bin/mysqld_safe--socket=/data/db/mysql.sock --basedir=/mysql/mysql-5.7.22 --datadir=/data/db/--log-error=/data/db/mysql-error.log &



3.3 確認mysql已經啟動,日志中數據庫已經啟動

$ ps -ef|grep mysql
$ tail -100f /data/db/mysql-error.log

2018-07-09T04:24:20.041509Z 0 [Note] /mysql/mysql-5.7.22/bin/mysqld: ready for connections.
Version: '5.7.22' socket: '/data/db/mysql.sock' port: 3306 MySQL?Community?Server (GPL)

3.4 升級.mysql實例數據字典

$ ./bin/mysql_upgrade -uroot -p -S/data/db/mysql.sock

下面是過程信息:

Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
mysql.columns_priv OK
mysql.db OK
mysql.engine_cost OK
mysql.event OK
。。。
mysql.time_zone_transition_type OK
mysql.user OK
Upgrading the sys schema.
Checking databases.
sys.sys_config OK
Upgrade process completed successfully.
Checking if update is needed.
?

3.5 重啟mysql 5.7實例:

./bin/mysqladmin -uroot -p -S/data/db/mysql.sock shutdown

./bin/mysqld_safe --socket=/data/db/mysql.sock--basedir=/mysql/mysql-5.7.22 --datadir=/data/db/--log-error=/data/db/mysql-error.log &

?

3.6?檢查升級后mysql server版本:

./bin/mysql -uroot -pmysql -S /data/db/mysql.sock

mysql> select version;


++
| version |
++
| 5.7.22 |
++
1 row in set (0.00 sec)

--還應該檢查日志文件,是否有錯誤出現。

到5.7.22的升級結束

4.mysql 5.7.22升級到8.0.11
4.1 先修改 innodb_fast_shutdown =0

$ cd /mysql/mysql-5.7.22

$ ./bin/mysql -uroot -p -S /data/db/mysql.sock



mysql> set globalinnodb_fast_shutdown=0;
?

4.2 停 mysql server 5.7

cd /mysql/mysql-5.7.22

$ ./bin/mysqladmin -uroot -p -S/data/db/mysql.sock shutdown


4.3 通過mysql server 8.0.11啟動mysql實例:

$ cd /mysql/mysql-8.0.11

$ ./bin/mysqld_safe--socket=/data/db/mysql.sock --basedir=/mysql/mysql-8.0.11 --datadir=/data/db/--log-error=/data/db/mysql-error.log &



4.4 確認mysql已經啟動,日志中數據庫已經啟動

$ ps -ef|grep mysql
$ tail -100f /data/db/mysql-error.log

[System] [MY-010931] [Server] /mysql/mysql-8.0.11/bin/mysqld: ready for connections. Version: '8.0.11' socket: '/data/db/mysql.sock' port: 3306 MySQL?Community?Server - GPL.

4.5 升級.mysql實例數據字典
$ cd /mysql/mysql-8.0.11
$ ./bin/mysql_upgrade -uroot -p -S/data/db/mysql.sock

下面是過程信息:

Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL?server.
Checking system database.
mysql.columns_priv OK
mysql.db OK
mysql.engine_cost OK
mysql.event OK
。。。
mysql.time_zone_transition_type OK
mysql.user OK
Upgrading the sys schema.
Checking databases.
sys.sys_config OK
Upgrade process completed successfully.
Checking if update is needed.
?

4.6 重啟mysql 8.0.11實例

$ cd /mysql/mysql-8.0.11

$ ./bin/mysqladmin -uroot -p -S/data/db/mysql.sock?shutdown

$ ./bin/mysqld_safe --socket=/data/db/mysql.sock--basedir=/mysql/mysql-8.0.11 --datadir=/data/db/--log-error=/data/db/mysql-error.log &

?

4.7?檢查升級后mysql server版本:

$ cd /mysql/mysql-8.0.11

./bin/mysql -uroot -pmysql -S /data/db/mysql.sock

mysql> select version;



++
| version |
++
| 8.0.11 |
++
1 row in set (0.00 sec)

--還應該檢查日志文件,是否有錯誤出現。

到此,5.6.40 升級到 8.0.11全部完成。

轉載于:https://my.oschina.net/u/3761438/blog/1843753

總結

以上是生活随笔為你收集整理的mysql5.6.40升级到mysql8.0.11 的步骤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。