【小白福利—初级DBA入门必看】MySQL常用工具介绍(四)——客户端工具MySQL_upgrade

上一篇为大家更新了MySQL客户端常用工具,这次为大家继续更新upgrade的相关操作内容。

1 简介
每次升级mysql都应执行mysql_upgrade,它会查找当前版本与升级版本的不兼容性:
①升级mysql架构的系统表,以便你能使用可能已添加的新权限或功能。
②升级性能库和sys库
③检查user schemas
若mysql_update发现某个表可能存在不兼容性,则会执行表检查,如果发现问题,则尝试进行修复。若无法修复,请参考官网第2.11.12节“重建或修复表或索引”以手动修复表。
其工作原理是:mysql_upgrade直接与服务器通信,向其发送执行升级所需的sql语句。要像这样使用mysql_upgrade:
①保证服务器运行;
②调用upgrade升级mysql库中的系统表,并检查和修复其他库。
shell> mysql_upgrade [options] #选项从[mysql_upgrade]和[client]组读取
④停止并重启服务器以使系统表的任何改变生效。
注意:
若你使用disabled_storage_engines系统变量禁用了某些引擎如myisam,upgrade可能报错失败,如mysql_upgrade: [ERROR] 3161: Storage engine MyISAM is disabled (Table creation is disallowed).
除非以–upgrade-system-tables 选项调用mysql_upgrade ,否则它会处理所有表。当某个表被处理时被锁定,故不能被其他会话获得。表检查使用 CHECK TABLE … for upgrade语句。
mysql_upgrade用当前mysql版本标记所有检查和修复过的表。以保证下次运行upgrade时能决定是否需要再次检查修复。

upgrade将版本号保存到数据目录的mysql_upgrade_info文件中。用来快速检查是否所有的表已经检查到该版本以使表检查可以跳过。使用–force可以忽略该文件并执行检查。

从5.7.2始,upgrade检查mysql.user表,设置每个为空的plugin列为 ‘mysql_native_password’ 或’mysql_old_password’(取决于password列值的列散格式)。5.7.5时,不支持pre-4.1密码列散,故若凭证使用和native插件兼容的列散格式,则设置为’mysql_native_password’。pre-4.1格式必须手动升级。see Section 6.4.1.3, “Migrating Away from Pre-4.1 Password Hashing and the mysql_old_password Plugin”.

upgrade不升级时区表集、帮助表集。

从5.7.7始,除非启用–skip-sys-schema ,否则upgrade在sys没有安装时安装sys,并将其升级到当前版本。若sys存在但没有一个sys.version视图(假定该丢失意味着用户自创库)则会报错。要修复该问题,将sys重命名或删除等。

从5.7.9始,upgrade检查使用一般分区处理器创建的innodb表分区,并尝试将他们升级到本地分区(在5.7.6始使用)。(bug #76734,bug #20727344&#x

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值