/**PageBeginHtml Block Begin **/ /***自定义返回顶部小火箭***/ /*生成博客目录的JS 开始*/ /*生成博客目录的JS 结束*/

MySQL导入数据库1118错误解决方案[ERR] 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB


导入SQL文件时报错(在执行创建表或者增加字段时,发现row size长度过长,会导致出现以下错误)
[ERR] 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
[ERR] -- MySQL dump 10.13  Distrib 5.6.50, for Linux (x86_64)



执行以下SQL语句,查看严格模式是否开启

show variables like '%innodb_strict_mode%';




执行后如果为ON,则需要关闭

Variable_name			Value
innodb_strict_mode		ON


找到MySQL的配置文件位置,如C:\Program Files\MariaDB 10.6\data\my.ini,可查看系统变量找到安装目录。

右键编辑,在[mysqld]配置项下面新增一行

[mysqld]
innodb_strict_mode=0



保存,然后重启服务。再次执行以下SQL语句,查看严格模式是否开启

show variables like '%innodb_strict_mode%';



如果为OFF,则说明执行成功。再导入试试



[mysqld]
#处理 MySQL导入数据库1118错误解决方案[ERR] 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB
innodb_strict_mode=0
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=H:\Soft_Ware\Develop_SoftWare\mysql-8.0.21-winx64
# 设置mysql数据库的数据的存放目录
datadir=H:\Soft_Ware\Develop_SoftWare\mysql-8.0.21-winx64\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
# 关于Mysql创建函数报错This function has none of DETERMINISTIC, NO SQL, 的解决方案
log-bin-trust-function-creators=1
# 解决 group by  问题
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4






posted @ 2022-05-17 09:08  一品堂.技术学习笔记  阅读(6225)  评论(0编辑  收藏  举报