今天用Navicat迁移数据的时候,报了一个错:1114 – The table ‘xxxx’is full
解决方案一:修改mysql的配置
这个问题可能是2种原因:
- 1.存放数据的磁盘整的已经放满,不能再写入数据,需要优化磁盘的存储大小。
- 2.超过了mysql的临时表大小 和内存表大小
需要修改Mysql的配置文件/etc/my.cnf,在[mysqld]下添加/修改两行:
tmp_table_size = 16M // 临时表大小
max_heap_table_size = 16M // 内存表大小
或者是直接连接数据库执行:
show global variables like 'max_heap_table_size';
show global variables like 'tmp_table_size';
set global max_heap_table_size=1024*1024*16*2;
set global tmp_table_size=1024*1024*16*2;
解决方式二:迁移Mysql
尝试着去修改配置结果发现试了很多次都没有办法解决这个问题,后来想是不是内存满了 因为之前mysql安装在C盘但是发现现在C盘的内存已经占满了,于是只能通过迁移mysql的方式 迁移到D盘
查看当前MySQL数据库文件路径
打开Navicat,连接到本地mysql数据库,点击菜单栏的“查询”菜单,点击“新建查询”,输入show variables like 'datadir';并点击运行执行该语句,可以看到执行结果中文件的存储路径
停止MySQL服务
在Windows上,通过“服务”应用程序或命令行来停止MySQL服务。
在windows任务栏的搜索框输入“服务”,打开服务窗口
在服务中找到MySQL80,鼠标右键点击,选择“停止”
拷贝C盘MySQL数据库文件到D盘
在D盘创建数据库存放的文件夹,根据C盘数据库存储路径为:“C:\ProgramData\MySQL\MySQL Server 8.0\Data\”,在D盘创建ProgramData文件夹,在该文件夹下创建MySQL文件夹,在MySQL文件夹下创建MySQL Server 8.0文件夹,将C盘对应文件夹下的Data文件拷贝到“D:\ProgramData\MySQL\MySQL Server 8.0”文件夹下
修改MySQL配置文件
在“C:\ProgramData\MySQL\MySQL Server 8.0”文件夹下找到my.ini文件,右键单击,选择“Open with code” 用vscode打开
修改datadir
重启mysql即可