mysql导入sql文件过大自动断开(mysql导入sql文件报错的原因)

mysql导入sql文件过大自动断开(mysql导入sql文件报错的原因)p CREATE TABLE rol users 2 p roleid bigint unsigned NOT NULL name varchar 255 DEFAULT NOT NULL type integer DEFAULT 0 NOT

大家好,我是讯享网,很高兴认识大家。



 <p>CREATE TABLE &#96;rol_users_2&#96; (</p> 

讯享网

`roleid` bigint unsigned NOT NULL,

`name` varchar(255) DEFAULT ‘’ NOT NULL,

`type` integer DEFAULT ‘0’ NOT NULL,

`readonly` integer DEFAULT ‘0’ NOT NULL,

PRIMARY KEY (roleid)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

CREATE UNIQUE INDEX `role_1` ON `rol_users_2` (`name`);


讯享网

在创建role_1 索引的时候,报错SQL 错误 [1709] [HY000]: (conn=6991) Index column size too large. The maximum column size is 767 bytes.

如何解决呢,只要建表的时候,添加关键词就行了row_format=DYNAMIC;

CREATE TABLE `rol_users` (

`roleid` bigint unsigned NOT NULL,

`name` varchar(255) DEFAULT ‘’ NOT NULL,

`type` integer DEFAULT ‘0’ NOT NULL,

`readonly` integer DEFAULT ‘0’ NOT NULL,

PRIMARY KEY (roleid)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 row_format=DYNAMIC;

2. 如果建表语句继续报错,添加mysql全局权限

set @@global.innodb_file_format = Barracuda

set @@global.innodb_file_per_table = on

set @@global.innodb_default_row_format = dynamic

set @@global.innodb_large_prefix = 1

set @@global.innodb_file_format_max = Barracuda

或者修改配置文件mariadb

/etc/mysql/mariadb.conf.d/xxx.server.cnf

[mariadb]
innodb_file_format = Barracuda
innodb_file_per_table = on
innodb_default_row_format = dynamic
innodb_large_prefix = 1
innodb_file_format_max = Barracuda

小讯
上一篇 2025-04-21 12:07
下一篇 2025-04-24 07:16

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/172570.html