国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Mysql升級之glibc包升級

IT那活兒 / 2198人閱讀
Mysql升級之glibc包升級

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!!!


前 言

從mysql的官方升級文檔來看,MySQL的升級相對來說還是比較簡單的。

它支持多種方式的升級,但是MySQL版本眾多,不僅有各種大版本,例如5.1,5.5,5.6,5.7等。同一個大版本中也會有各種小版本。

那么官方支持怎么的升級路徑呢?
  • 同一個大版本中的小版本可以直接升級,例如:5.6.25到5.6.31。

  • 跨版本升級,但只支持跨一個版本升級,例如5.5到5.6,5.6到5.7。不支持跨多個版本的升級,例如直接從5.5到5.7,可以先從5.5升級到5.6,再從5.6升級到5.7。

今天升級的方式為glibc升級,是從mysql5.7.17升級到mysql5.7.26。

升級過程

2.1 創建測試數據庫

mysql>create database aaaa;

QueryOK, 1 row affected (0.00 sec)

2.2 在測試數據庫中創建測試表

mysql>create database demo1;

QueryOK, 1 row affected (0.00 sec)

2.3 給測試表demo1入數

mysql>select * from demo1;

+----+-----------+

| id| name |

+----+-----------+

|
  1| xiaozhang |

| 2| xiaoli |

|
  3| laowang |

| 4| ceshi |

+----+-----------+

4 rows in set (0.00 sec)

注:此時建庫表為了看升級之后是否數據丟失等。

2.4 導出數據庫

[root@test~]# mysqldump -S 
/u01/mysql3306/demo_demo1/mysql.sock -uroot -p--all-
databases --set-gtid-purged=off
>/soft/mysql_bak/mysql5717all.sql

查看當前數據庫版本:

2.5 停止老數據庫

mysqladmin-uroot -p -S /u01/mysql3306/demo_demo1/mysql.sock shutdown

2.6 解壓升級包、移動到指定位置并賦權

tar–zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

mvmysql-5.7.26-linux-glibc2.12-x86_64 /u01/mysql5726

chown–R mysql.mysql /u01

2.7 初始化軟件

注意:初始化和之前版本不一樣了,初始化時有初始化密碼的。

/u01/mysql5726/bin/mysqld--initialize --user=mysql --
basedir=/u01/mysql5726--
datadir=/u01/mysql33062/demo_demo1/data

初始化過程中遇到libnuma.so.1問題:

[root@testbin]# /u01/mysql5726/bin/mysqld--defaults-
file=/u01/mysql3306/demo_demo1/conf/demo1.cnf--initialize-
insecure --user=mysql --basedir=/u01/mysql5726--
datadir=/u01/mysql3306/demo_demo1/data

/u01/mysql5726/bin/mysqld:error while loading shared
libraries: libnuma.so.1: cannot openshared object file: No such file or directory
解決辦法:

    如果已經安裝了libnuma.so.1,先yumremove libnuma.so.1 

    yum -y install numactl.x86_64

2.8 拷貝和修改配置文件

Cd/u01/mysql33062/demo_demo1/conf/

Cp/u01/mysql3306/demo_demo1/conf/demo1.cnf.bak .

2.9 將老的cnf文件里的路徑調整為新的路徑

注:如果用戶環境變量里有老的mysqlbin目錄位置建議一并修改成新的,方便后期使用。

2.10 登錄數據庫

/u01/mysql5726/bin/mysql-uroot -p -S/u01/mysql33062/demo_demo1/mysql.sock

查看導入前的數據庫及版本:

導入數據歷史備份數據有時不加-S和mysql.sock的路徑會報找不到mysql.sock的錯誤。

mysql-uroot -p -S /u01/mysql33062/demo_demo1/mysql.sock 
</soft/mysql_bak/mysql5717all.sql

2.11 執行mysql_upgrade升級

mysql_upgrade-S /u01/mysql33062/demo_demo1/mysql.sock -uroot –p

官方提到執行這命令可以讓原數據啟用到新版本的特性,注意:GTID復制不要開啟。

[root@testbin]# mysql_upgrade -uroot -p  -S/u01/mysql33062/demo_demo1/mysql.sock --force

Enterpassword:

Checkingserver version.

Runningqueries to upgrade MySQL server.

Checkingsystem database.

mysql.123                                         OK

mysql.columns_priv OK

mysql.db OK

mysql.engine_cost OK

mysql.event OK

mysql.func OK

mysql.general_log OK

mysql.gtid_executed OK

mysql.help_category OK

mysql.help_keyword OK

mysql.help_relation OK

mysql.help_topic OK

mysql.innodb_index_stats OK

mysql.innodb_table_stats OK

mysql.ndb_binlog_index OK

mysql.plugin OK

mysql.proc OK

mysql.procs_priv OK

mysql.proxies_priv OK

mysql.server_cost OK

mysql.servers OK

mysql.slave_master_info OK

mysql.slave_relay_log_info OK

mysql.slave_worker_info OK

mysql.slow_log OK

mysql.tables_priv OK

mysql.time_zone OK

mysql.time_zone_leap_second OK

mysql.time_zone_name OK

mysql.time_zone_transition OK

mysql.time_zone_transition_type OK

mysql.user OK

Thesys schema is already up to date (version 1.5.1).

Found0 sys functions, but expected 22. Re-installing the sys schema.

Upgradingthe sys schema.

Checkingdatabases.

aaaa.demo1 OK

sys.sys_config OK

Upgradeprocess completed successfully.

至此,升級完成。

查看導入數據是否成功。

總結:升級過程中如果遇到問題,可以多查詢資料。操作前做好數據備份,尤其是在生產環境中。

文章首發于2021年3月21日

本文作者:鄧 健(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129279.html

相關文章

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<