Linux MySQL 5.7二进制 小版本升级
admin
2023-04-20 16:23:14
0

Linux MySQL 5.7二进制 小版本升级

MySQL5.7二进制安装在Unix/Linux上升级时,分为就地和逻辑升级方法。

1 就地升级

就地升级包括关闭旧的MySQL服务器,用新的MySQL服务器替换旧的MySQL二进制文件或软件包,在现有数据目录上重新启动MySQL,以及运行mysql_upgrade。

1.1 XA事务InnoDB

如果您使用XA事务InnoDB,请XA RECOVER在升级之前运行以检查未提交的XA事务。如果返回结果,则通过发出XA COMMIT或 XA ROLLBACK声明来提交或回滚XA事务。

1.2 配置MySQL以通过设置innodb_fast_shutdown为 执行慢速关闭 0。

mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0"

在关闭过程中,InnoDB执行完全清除并在关闭之前更改缓冲区合并,这可确保在发布版本之间存在文件格式差异时完全准备好数据文件。

1.3 关闭旧的MySQL服务器

mysqladmin -u root -p shutdown

1.4 安装新的MySQL二进制包

下载,解压新的MySQL二进制分发包;

授权:

chown -R mysql.mysql /usr/loacl/mysql_new

把MySQL的软连接指向新的mysql服务

unlink /usr/loacl/mysql
ln -s /usr/loacl/mysql_new /usr/loacl/mysql

1.5 使用现有数据目录启动新MySQL 5.7服务器

mysqld_safe --user=mysql --datadir=/path/to/existing-datadir

1.6 运行mysql_upgrade

mysql_upgrade -u root -p

mysql_upgrade检查所有数据库中的所有表是否与当前版本的MySQL不兼容。mysql_upgrade还会升级mysql系统数据库,以便您可以利用新的权限或功能。

  • 注意
    mysql_upgrade不会升级帮助表的内容。

1.7 关闭并重新启动MySQL服务器以确保对系统表所做的任何更改都生效

mysqladmin -u root -p shutdown
mysqld_safe --user=mysql --datadir=/path/to/existing-datadir

2 逻辑升级

逻辑升级涉及使用备份或导出实用程序(如mysqldump)从旧MySQL实例导出SQL ,安装新的MySQL服务器以及将SQL应用于新的MySQL实例。
简单说明逻辑升级就是导出数据,然后升级,最后再导入数据;安全性高,主要针对数据量不大的数据库;常用的工具:mysqldump和Xtrabackup。

2.1 从以前的MySQL安装中导出现有数据:

mysqldump -u root -p
  --add-drop-table --routines --events
  --all-databases --force > data-for-upgrade.sql
  • 注意
    如果数据库包含存储的程序, 请使用--routines和 mysqldump的--events选项 (如上所示)。该 选项包括转储中的所有数据库,包括保存系统表的 数据库。 --all-databasesmysql

  • 重要
    如果您有包含生成列的表,请使用MySQL 5.7.9或更高版本提供的mysqldump实用程序来创建转储文件。早期版本中提供的 mysqldump实用程序对生成的列定义使用了错误的语法(Bug#20769542)。您可以使用该 INFORMATION_SCHEMA.COLUMNS 表来标识具有生成列的表。

2.2 关闭旧的MySQL服务器

mysqladmin -u root -p shutdown

2.3 安装MySQL 5.7

参考:
mysql 5.7.21 二进制安装

2.4 初始化新数据目录

mysqld --initialize --datadir=/path/to/5.7-datadir

复制'root'@'localhost' 显示在屏幕上的临时密码或写入错误日志以供日后使用。

2.5 使用新数据目录启动MySQL 5.7服务器:

mysqld_safe --user=mysql --datadir=/path/to/5.7-datadir

2.6 重置root密码:

shell> mysql -u root -p
Enter password: ****  <- enter temporary root password
mysql> ALTER USER USER() IDENTIFIED BY 'your new password';

2.7 将先前创建的转储文件加载到新的MySQL服务器中

mysql -u root -p --force < data-for-upgrade.sql
  • 注意
    gtid_mode=ON如果转储文件包含系统表, 则不建议在服务器()上启用GTID时加载转储文件。 mysqldump为使用非事务性MyISAM存储引擎的系统表发出DML指令,并且在启用GTID时不允许这种组合。另请注意,将启用了GTID的服务器中的转储文件加载到启用了GTID的另一台服务器中会导致生成不同的事务标识符。

2.8 运行mysql_upgrade

mysql_upgrade -u root -p

mysql_upgrade检查所有数据库中的所有表是否与当前版本的MySQL不兼容。mysql_upgrade还会升级mysql系统数据库,以便您可以利用新的权限或功能。

  • 注意
    mysql_upgrade不会升级帮助表的内容。

2.9 关闭并重新启动MySQL服务器以确保对系统表所做的任何更改都生效。

mysqladmin -u root -p shutdown
mysqld_safe --user=mysql --datadir=/path/to/5.7-datadir

官网:

https://dev.mysql.com/doc/refman/5.7/en/upgrading.html

相关内容

热门资讯

燃气发电与电池储能相结合,成为... 来源:市场资讯 (来源:i商周) 孟菲斯一座xAI数据中心的燃气轮机 人工智能的用电飙升,让数据中心...
景嘉微:JM11性能大幅提升,... 有投资者在互动平台向景嘉微提问:“董秘您好!关注到近期有用户反馈公司JM11显卡推出了适配windo...
原创 v... 影像的发展进一步推动,不少品牌推出了专业影像手机,拥有2亿像素摄像头、色彩还原摄像头、影像芯片、影像...
荣耀首款自研耳夹式耳机官宣即将... 快科技5月13日消息,日前,荣耀首席营销官关海涛宣布,荣耀全场景团队自研首款耳夹式耳机马上上市,并称...
谷歌推出Googlebooks... IT之家 5 月 13 日消息,2026 年 I/O 开发者大会下周(5 月 19~20 日)召开之...
自控所推动GNC专业智能化升级 来源:滚动播报 (来源:中国航空报) 本报讯 5月6日,航空工业自控所召开 GNC+AI关键技术研发...
华电电力申请数据库访问方法专利... 国家知识产权局信息显示,华电电力科学研究院有限公司申请一项名为“数据库访问方法、装置、设备及介质”的...
苏州率先打造数据流通利用新范式 数据,作为第五大生产要素 具有流动性强、非消耗性、非均质性等特点 苏州率先打造数据流通利用新范式 夯...
伊媒披露伊美新一轮谈判5个先决... 当地时间5月12日,据伊朗法尔斯通讯社援引知情人士消息报道,伊朗对与美国新一轮谈判提出的5个先决条件...
英国将向霍尔木兹海峡多国护航行... 当地时间12日,总台记者从英国国防部获悉,英国将向在霍尔木兹海峡执行任务的多国护航行动提供无人机、战...