redhat mysql导入数据报table is full & 逻辑卷缩容和扩容

最近往mysql里导入数据一致报错table is full,因此进行实验,发现此问题的原因,并对问题进行解决,记下来记录一下。

mysql报table isfull

使用mysql往服务器里导数据一直报table is full,网上查询错误的原因基本上是说tmp_table_size和tmp_heap_table_size设置得太小了,但是我遇到的不是这个问题,因为我的这两个都设置为1024M了,而且都是存在/home目录下面的,我的/home有几个T呢,因此不可能是这个问题,于是继续寻找问题,最后应该是data_dir是存在于/usr/share的缘故,已查看文件,确实根目录已经塞满文件了,于是做了两个改动:

  1. 进行逻辑卷重新分配容量,将/home的一些容量分配给了根目录;
  2. 更改了datadir存储数目的目录,改到了/home下面。

在这里插入图片描述

redhat逻辑卷缩容和扩容

逻辑卷缩容

缩容操作就完全按照下图就可以:
在这里插入图片描述

逻辑卷扩容

看linuxprobe上扩容是先要取消挂载的,但是由于是根目录,取消挂载一直失败,后来上网一查,好像不需要取消挂载,可以直接扩容,操作如这篇博文里面所说的就可以。但是由于我的文件系统不是xfs的,而是ext4,因此文章里的xfs_growfs /dev/centos/root失败,只需要执行resize2fs <LV 路径>就可以了,然后mount -a一下,可以df -h查看一下,可以发现扩容成功了。

更改mysql datadir和mysql.socket的路径

按照这篇文章的方法操作就可以了,但是同时需要注意,datadir和socket并不一定在一个地方的,我看服务器上就不在一个地方,如果不再一个地方就需要在上述链接文章中的方法的基础上进一步改进一下,也就是说还需要将原来datadir里的数据拷贝到新建的文件夹里去。datadir拷贝方法参加这篇文章。最后记得修改下文件的权限,selinux关掉,就可以了,重启mysql就OK。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39805362/article/details/107333695