MySql 备份还原
使用SQLyog 转储备份SQL文件,在另外一台电脑还原
1.还原过程中遇到 Error Code: 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
原因:
①. mysql 默认的 page 最大是 16k,而 page 中单行最大不能超过 8k
②. text 或者 blob 字段太多也会导致一行数据大于 8k,因为 innodb 默认的 approach(羚羊)存储格式会把每个 blob 字段的前 864 个字节存储在 page 里。这样的话一旦有很多个text 或者 blob字段,还是有可能超过 8k
解决:
①、可以尝试将 varchar 字段改成 text 或者 blob
②、表结构需要重新设计,减少字段个数
③、修改 my.ini 配置文件,关闭数据库 严格模式
查询分析器中查询看严格模式是否开启,如果开启(ON),则需要关闭,
show variables like '%innodb_strict_mode%';
找到MySQL的配置文件位置,如C:\Program Files\MariaDB 10.6\data\my.ini
,可查看系统变量找到安装目录。
右键编辑,在[mysqld]配置项下面新增一行,保存,然后重启服务。
[mysqld] innodb_strict_mode=0
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律