10bet网址
MySQL 8.0参考手册
相关文件10bet官方网站 本手册下载 从本手册中摘录

MySQL 8.0参考手册/....../ mysql_upgrade -检查和升级MySQL表

4.4.5 mysql_upgrade - 检查并升级MySQL表

请注意

as MySQL 8.0.16,MySQL Server执行以前处理的升级任务mysql_upgrade.(详情,请参阅第2.11.3节,“MySQL升级过程升级了什么”)。最后,mysql_upgrade.不必要地,并被贬值,因为该版本;我们希望在MySQL的未来版本中移除它。因为mysql_upgrade.不再执行升级任务,它无条件地退出状态0。

每次升级MySQL时,您都应该执行mysql_upgrade.,它寻找与升级的MySQL服务器的不兼容:

  • 它升级系统表中的系统表mysql.架构使您可以利用可能添加的新特权或功能。

  • 它升级了性能架构,INFORMATION_SCHEMA, 和sys架构。

  • 它检查了用户模式。

如果mysql_upgrade.发现表有可能的不兼容,它执行表检查,如果找到问题,请尝试表修复。如果表无法修复,请参阅第2.11.13节,“重建或修复表或索引”用于手动表修复策略。

mysql_upgrade.直接与MySQL Server进行通信,将其发送执行升级所需的SQL语句。

谨慎

您应该始终备份当前的MySQL安装之前执行升级。看到第7.2节“数据库备份方法”

一些升级不兼容可能需要特殊处理之前升级MySQL安装和运行mysql_upgrade..看到第2.11节“升级mysql”,有关确定任何此类不兼容性是否适用于您的安装以及如何处理它们的说明。

mysql_upgrade.像这样:

  1. 确保服务器正在运行。

  2. 邀请mysql_upgrade.升级系统表中的系统表mysql.模式和检查和修复其他模式中的表:

    mysql_upgrade [选项
  3. 停止服务器并重新启动它,以便使任何系统表更改生效。

如果有多个MySQL服务器实例需要升级,请调用mysql_upgrade.具有适合连接到每个所需服务器的连接参数。例如,在第3306到3308上的本地主机上运行的服务器,通过连接到适当的端口升级它们中的每一个:

mysql_upgrade  -  protocol = tcp -p 3306 [其他_选项] mysql_upgrade  -  protocol = tcp -p 3307 [其他_选项] mysql_upgrade  -  protocol = tcp-p 3308 [其他_选项

在UNIX上的本地主机连接,——= tcp协议选项强制使用TCP / IP而不是UNIX套接字文件的连接。

默认情况下,mysql_upgrade.作为mysql运行用户。如果是运行时密码已过期mysql_upgrade.,它显示一条消息,您的密码已过期mysql_upgrade.结果失败了。要纠正此错误,请重置使其失效并运行的密码mysql_upgrade.一次。首先,连接到服务器

shell> mysql -u root -p输入密码:**** < - 在此处输入root密码

使用密码使用改变用户

mysql> ALTER USER USER() IDENTIFIED BY 'root密码'

然后退出mysql.和运行mysql_upgrade.再次:

壳> mysql_upgrade [选项
请注意

如果您使用该服务器运行服务器disabled_storage_engines系统变量设置为禁用某些存储引擎(例如,MyISAM),mysql_upgrade.可能会因错误而失败:

mysql_upgrade: [ERROR] 3161: Storage engine MyISAM is disabled(不允许创建表)。

要处理此操作,请重新启动服务器disabled_storage_engines残疾人士。然后你应该能够运行mysql_upgrade.成功地。之后,重新启动服务器disabled_storage_engines设置为其原始值。

除非用- upgrade-system-tables选项,mysql_upgrade.根据需要处理所有用户模式中的所有表。表检查可能需要很长时间才能完成。每个表都被锁定,因此在处理时对其他会话不可用。检查和修复操作可能是耗时的,特别是对于大型表。表检查使用升级选项检查表声明。有关此选项的详细信息,请参见第13.7.3.2节“检查表陈述”

mysql_upgrade.使用当前MySQL版本号标记所有选中和修复的表。这确保了下次运行时mysql_upgrade.使用相同的服务器版本,可以确定是否有任何需要再次检查或修复给定表格。

mysql_upgrade.将MySQL版本号保存在一个名为mysql_upgrade_info在数据目录中。这用于快速检查是否已检查此版本的所有表,以便可以跳过表格检查。要忽略此文件并无论如何执行检查,请使用- 力量选项。

请注意

mysql_upgrade_info文件是弃用;我们希望在MySQL的未来版本中移除它。

mysql_upgrade.检查mysql.user.系统表行和,对于空的任何行插入Column,将该列设置为'mysql_native_password'如果凭据使用与插件兼容的散列格式。密码散列在4.1之前的行必须手动升级。

mysql_upgrade.不升级时区表或帮助表的内容。有关升级说明,请参阅第5.1.15节“MySQL Server时区支持”, 和第5.1.17节,“服务器端帮助支持”

除非用- skip-sys-schema选项,mysql_upgrade.安装sys架构如果未安装它,并且否则将其升级到当前版本。如果一个错误会发生错误sys架构存在但没有版本视图,假设它的缺席表示用户创建的模式:

SYS架构存在,没有系统.Version视图。如果您创建了用户创建的SYS架构,则必须重命名升级以取得成功。

在这种情况下,要升级,请删除或重命名现有的sys模式。

mysql_upgrade.支持以下选项,可以在命令行或中指定[mysql_upgrade][客户]选项文件组。有关MySQL程序使用的选项文件的信息,请参阅第4.2.2.2节“使用选项文件”。

表4.10 MySQL_Upgrade选项

选项名称 描述 介绍 弃用
- 地址 使用指定的网络接口连接到MySQL Server
- Character-Sets-DIR 安装字符集的目录
——压缩 压缩客户端和服务器之间发送的所有信息 8.0.18
- 复杂算法 允许的压缩算法用于连接到服务器 8.0.18
--debug. 写调试日志
--debug-check. 程序退出时打印调试信息
——debug-info 当程序退出时,打印调试信息、内存和CPU统计信息
——default-auth 使用身份验证插件
——default-character-set 指定默认字符集
——defaults-extra-file 除了常见的选项文件外,还阅读命名选项文件
--defaults文件 只读命名选项文件
- defaults-group-suffix 选项组后缀值
- 力量 强制执行,即使当前MySQL版本已经执行了mysql_upgrade
- etget-server-public-key 向服务器请求RSA公钥
- 帮助 显示帮助消息和退出
——主机 MySQL服务器所在的主机
- 路径 从.mylogin.cnf阅读登录路径选项
——max-allowed-packet 向服务器发送或从服务器接收的最大数据包长度
- 网络缓冲区长度 TCP/IP和套接字通信的缓冲区大小
- nno-defaults. 不读取选项文件
- 密码 连接到服务器时要使用的密码
——管 使用命名管道连接到服务器(仅限Windows)
-plugin-dir. 安装插件的目录
- 港口 连接的TCP / IP端口号
——print-defaults 打印默认选项
- 协议 运输协议使用
——server-public-key-path 包含包含RSA公钥的文件的路径名称
——shared-memory-base-name 共享内存连接的共享内存名称(仅限Windows)
- skip-sys-schema 请勿安装或升级SYS架构
——套接字 要使用的Unix套接字文件或Windows命名管道
——ssl-ca 包含可信SSL证书权限列表的文件
- ssl-capath. 包含受信任的SSL证书颁发机构证书文件的目录
- ssl-cert. 包含x.509证书的文件
--ssl-cipher. 允许的密码用于连接加密
——ssl-crl 包含证书撤销列表的文件
——ssl-crlpath 包含证书撤销列表文件的目录
——ssl-fips-mode 是否在客户端启用FIPS模式
--ssl-key. 包含x.509密钥的文件
——ssl-mode 到服务器的所需安全状态
- TLS-CIPHESUITES. 允许用于加密连接的TLSv1.3加密套件 8.0.16
——tls版本 允许用于加密连接的TLS协议
- upgrade-system-tables 仅更新系统表,而不是用户模式
- 用户 连接到服务器时要使用的MySQL用户名
——详细 冗长模式
- 转移检查 检查适当的服务器版本
- 写入binlog. 将所有语句写入二进制日志
——zstd-compression-level 到使用zstd压缩的服务器的连接的压缩级别 8.0.18