mysql 5.7升级8.0 ERROR 1726 (HY000): Storage engine
源数据版本:5.7.31
新版本:8.0.21
升级流程:
1、源环境数据导出SQL
2、关闭数据库
3、安装新8.0 rpm包
4、初始化目录
5、启动数据库
6、导入数据
7、upgrade数据 ****非常重要**
由于mysql5.7 mysql中系统表默认引擎为MyISAM,升级后创建用户报错
mysql> create user 'leo'@'%' identified by 'leo'; ERROR 1726 (HY000): Storage engine 'MyISAM' does not support system tables. [mysql.user]
主要原因没有执行第7步骤。
#############逻辑升级流程###############
1、导出现有数据:
mysqldump -u root -p --all-databases > data-for-upgrade.sql
二、关闭旧的MySQL服务器。 例如:
mysqladmin -u root -p shutdown
三、安装8.0 RPM
yum install -y mysql-community-{server,client,common,libs}-*
四、初始化目录
/usr/sbin/mysqld --initialize --datadir=/path/to/8.0-datadir /*数据文件目录
五、启动8.0
mysqld_safe --user = mysql --datadir = /path/to/8.0-datadir&
六、导入数据
mysql -u root -p --force <data-for-upgrade.sql
注意
gtid_mode=ON 如果转储文件包含系统表, 则不建议在服务器( ) 上启用GTID时加载转储文件 。 mysqldump 为使用非事务性MyISAM存储引擎的系统表发出DML指令,并且在启用GTID时不允许这种组合。 另请注意,将启用了GTID的服务器中的转储文件加载到启用了GTID的其他服务器中会导致生成不同的事务标识符。
七、执行任何剩余的升级操作:
在MySQL 8.0.16及更高版本中,关闭服务器,然后使用 --upgrade=FORCE 选项 重新启动它 以执行剩余的升级任务:
mysqladmin -u root -p shutdown
mysqld_safe --user = mysql --datadir = /path/to/8.0-datadir--upgrade = FORCE&
重启后 --upgrade=FORCE ,服务器会 mysql 在MySQL 5.7和MySQL 8.0之间 进行 系统架构中 所需的任何更改 ,以便您可以利用新的权限或功能。 它还 为MySQL 8.0提供了最新 的性能模式 INFORMATION_SCHEMA 和 sys 模式,并检查了与当前版本的MySQL不兼容的所有用户模式。
在MySQL 8.0.16之前,执行 mysql_upgrade 以执行剩余的升级任务:
mysql_upgrade -u root -p
然后关闭并重新启动MySQL服务器,以确保对系统表所做的任何更改都生效。 例如:
mysqladmin -u root -p shutdown
mysqld_safe --user = mysql --datadir = /path/to/8.0-datadir&
注意
升级过程不会升级时区表的内容。 有关升级说明,请参见 第5.1.13节“MySQL服务器时区支持” 。
如果升级过程使用 mysql_upgrade (即,在MySQL 8.0.16之前),则该过程也不会升级帮助表的内容。 有关该情况下的升级说明,请参见 第5.1.14节“服务器端帮助支持” 。
注意
加载包含MySQL 5.7 mysql 架构 的转储文件会 重新创建两个不再使用的表: event 和 proc 。 (相应的MySQL 8.0表是 events 和 routines ,它们都是数据字典表并受到保护。)在您对升级成功感到满意后,可以 通过执行以下SQL语句 来删除 event 和 proc 表:
DROP TABLE mysql.event;
DROP TABLE mysql.proc;
- mysql升级报错:ERROR 2013 (HY000): Lost connection to MySQL server during query
- mysql5.7设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
- 关于数据库8.0 之后的版本改密码出现ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables
- 解决MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy require...
- mysql5.5升级为5.7遇到错误ERROR 1054 (42S22): Unknown column 'password_last_changed' in 'mysql.user'
- mysql5.7密码过期ERROR 1862 (HY000): Your password has expired. To log in you must change
- mysql5.5升级为5.7遇到错误ERROR 1054 (42S22): Unknown column 'password_last_changed' in 'mysql.user'
- mysql5.7设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
- mysql 5.7 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executi
- mysql 5.5升级5.6报错:ERROR 1193 (HY000) at line 84: Unknown system variable 'have_csv'
- MySql 5.7 报错ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
- MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
- ubuntu14.04 mysql升级到5.7版本出现GPG error错误解决办法
- 5.7 以后的MYSQL 登录数据库还是报错ERROR 1820 (HY000): You must reset your password using ALTER USER statement be
- Mysql 5.7 遇到ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
- MySQL5.7 错误:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before ...
- MySQL5.1升级5.6后,执行grant出错:ERROR 2013 (HY000): Lost connection to MySQL server during query【转载】
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
- mysql中一个普通ERROR 1135 (HY000)错误引发的血案
- yum 安装 mysql 错误 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lql/mysql.sock