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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql降级导入_mysql 升级和降级

發布時間:2024/7/23 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql降级导入_mysql 升级和降级 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 官方推薦的兩種升級方式:

in-place upgrade

logical upgrade

2 升級之前:

備份所有數據庫,包括系統庫mysql

[root@Darren1 ~]# mysqldump -uroot -p147258 -A -B? -F --master-data=2 --events --single-transaction>/tmp/mysqlall.bak

下載5.7.16二進制包,上傳解壓到/opt/mysql/目錄下

3升級演示:5.7.14升級到5.7.16

方法一: in-place upgrade:

設置數據庫關閉方式為slow方式,緩存中的數據在關閉之前全部落地:

[root@Darren1 data]# mysql -uroot -p147258 -e 'set global innodb_fast_shutdown=0;'

停止數據庫服務:

[root@Darren1 data]# mysqladmin -uroot -p147258 shutdown

把之前5.7.14的軟鏈接/usr/local/mysql刪除,重新建立5.7.16軟鏈接:

[root@Darren1 local]# rm -rf /usr/local/mysql

[root@Darren1 local]# ln -s /opt/mysql/mysql-5.7.16-linux-glibc2.5-x86_64 /usr/local/mysql

啟動數據庫服務:

[root@Darren1 ~]# mysqld_safe --user=mysql --datadir=/data/mysql/mysql3306/data &

檢查所有庫中所有表的兼容性:

[root@Darren2 data]# mysql_upgrade -uroot -p147258

檢查結束后會在datadir目錄下生成mysql_upgrade_info文件,記錄了數據庫版本。

停止數據庫服務:

[root@Darren1 data]# mysqladmin -uroot -p147258 shutdown

啟動數據庫服務:

[root@Darren1 ~]# mysqld_safe --user=mysql --datadir=/data/mysql/mysql3306/data &

把啟動5.7.16的啟動腳本mysql.server復制到/etc/init.d/下,替代舊的mysqld.

[root@Darren1 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

方法二:logical-upgrade

把mysql所有庫導出來:

[root@Darren1 local]# mysqldump -uroot -p --add-drop-table --routines --events --all-databases --force >/tmp/data-for-upgrade.sql

停數據庫服務:

[root@Darren1 local]# mysqladmin -uroot -p shutdown

創建新的目錄存放5.7.16:

[root@Darren1 ]# mkdir -p /data/mysql/mysql3307/{data,logs,tmp}

[root@Darren1 data]# chown -R mysql:mysql /data/mysql/mysql3307

刪除舊的軟鏈接,重新創建軟連接:

[root@Darren1 mysql]# ln -s /opt/mysql/mysql-5.7.16-linux-glibc2.5-x86_64 /usr/local/mysql

復制新的配置文件,并修改端口號為3307:

[root@Darren2 mysql3307]# cp /etc/my.cnf /data/mysql/mysql3307/my3307.cnf

[root@Darren2 mysql3307]# sed -i 's#3306#3307#g' my3307.cnf

指定配置文件初始化:

[root@Darren1 bin]# ./mysqld --initialize --defaults-file=/data/mysql/mysql3307/my3307.cnf

查看錯誤日志,找到密碼:

[root@Darren1 bin]# cat /data/mysql/mysql3307/data/error.log |grep password

2016-11-24T14:35:59.219125Z 1 [Note] A temporary password is generated for root@localhost: kU+Ve&lo6a/j

指定3307配置文件,啟動數據庫服務:

[root@Darren1 bin]# ./mysqld_safe --defaults-file=/data/mysql/mysql3307/my3307.cnf &

指定sock文件登陸,輸入前面查看的密碼:

[root@Darren1 bin]# mysql -uroot -p -S?/tmp/mysql3307.sock

Enter password:

重新修改密碼:

mysql>alter user user() identified by '147258';

導入之前備份數據:

[root@Darren1 bin]# mysql -uroot -p -S /tmp/mysql3307.sock --force

檢查兼容性:

[root@Darren1 bin]# mysql_upgrade -uroot -p -S /tmp/mysql3307.sock

關閉服務器:

[root@Darren1 bin]# mysqladmin -uroot -p shutdown -S /tmp/mysql3307.sock

用5.7.16二進制包重新建立3307實例,把舊的5.7.14版本的3306實例數據導出,然后導入3307實例中,測試3307實例確保沒有問題,然后刪除3306實例,把3307實例端口改為3306.

4 降級演示:5.7.16降級5.7.14

方法一:in-place downgrade

設置數據庫關閉方式:

[root@Darren1 local]# mysql -uroot -p -e 'set global innodb_fast_shutdown=0;'

停止數據庫服務:

[root@Darren1 local]# mysqladmin -uroot -p shutdown

刪除redolog文件:

[root@Darren1 data]# rm -rf /data/mysql/mysql3306/data/ib_logfile*

刪除5.7.16軟鏈接,并重新創建5.7.14軟連接:

[root@Darren1 local]# rm -rf /usr/local/mysql

[root@Darren1 local]# ln -s /opt/mysql/mysql-5.7.14-linux-glibc2.5-x86_64 /usr/local/mysql

啟動數據庫服務:

[root@Darren1 local]# mysqld_safe --user=mysql --datadir=/data/mysql/mysql3306/data &

降級檢查:

[root@Darren1 local]# mysql_upgrade -uroot -p

停止數據庫服務,重新啟動數據庫服務:

[root@Darren1 local]# mysqladmin -uroot -p shutdown

[root@Darren1 local]# mysqld_safe --user=mysql --datadir=/data/mysql/mysql3306/data &

方法二:logical downgrade

備份降級前的所有庫和表:

[root@Darren1 ~]# mysqldump -uroot -p147258 --add-drop-table --routines --events --all-databases --force> /tmp/data-for-downgrade.sql

初始化:

[root@Darren1 bin]# ./mysqld --defaults-file=/data/mysql/mysql3307/my3307.cnf --initialize

[root@Darren1 bin]# ./mysqld_safe --defaults-file=/data/mysql/mysql3307/my3307.cnf &

[root@Darren1 bin]# mysql -uroot -p -S /tmp/mysql3307.sock

mysql>alter user user() identified by '147258';

[root@Darren1 bin]# ./mysql -uroot -p147258 -S /tmp/mysql3307.sock

[root@Darren1 bin]# ./mysql_upgrade -uroot -p147258 --skip-version-check -S /tmp/mysql3307.sock

以上步驟,部分省略,可參考5.7官方文檔。

總結

以上是生活随笔為你收集整理的mysql降级导入_mysql 升级和降级的全部內容,希望文章能夠幫你解決所遇到的問題。

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