撰于 阅读 22

解决:mysql数据库导出再导入的表不一致报#1118Row size too large (> 8126)

遇到新问题: 1、phpMyadmin从mysqlA的库里导出的表不完整;原107张表只导出92张。 2、mysqldump从服务器里导出的表,用phpmyadmin导出报长度错误。 #1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAM  
处理办法: 1、用mysqldump 数据库表名 -u 用户名 -p > /xxxx/xxxx.sql
mysqldump -u root -p > /xxxx/xxxx.sql
2、执行以下SQL语句,查看严格模式是否开启.
show variables like '%innodb_strict_mode%';

Variable_name   Value
innodb_strict_mode ON
执行后如果为on,则需要关闭 3、修改mysql配置文件my.ini,解决长度问题 找到Mysql的配置文件位置,如C:\Program Files\MariaDB 10.6\data\my.ini,可查看系统变量找到安装目录。 右键编辑,在[mysqld]配置项下面新增一行
[mysqld]
innodb_strict_mode=0
保存,然后重启服务。再次执行以下SQL语句,查看严格模式是否开启
show variables like '%innodb_strict_mode%';
如果为OFF,则说明执行成功。再导入成功了。 4、成功导入后,再开启严格模式。

评论已关闭