ERROR:Incorrect key file for table 'table'; try to repair it

向175W+的数据表中插入一个add_time字段赋默认值为当前时间now():

`ALTER TABLE `table`ADD COLUMN `add_time`  datetime NOT NULL DEFAULT now() AFTER `sfdb`;

一段时间后报错:

Incorrect key file for table 'table'; try to repair it

导致该字段一直无法插入成功

后来发现当执行该语句时,/dev/sdb2磁盘空间一直在减小(最开始磁盘空间只有13G),磁盘空间满的同时报错Incorrect key file for table 'table'; try to repair it,报错之后/dev/sdb2的磁盘空间逐渐回复,直到正常。

~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             12G     0   12G   0% /dev
tmpfs           2.4G   18M  2.4G   1% /run
/dev/sdb2       1.8T  1.1T  622G  65% /
tmpfs            12G  156K   12G   1% /dev/shm

添加字段的这个表中有175W+数据,表大小为20多G,13G的磁盘空间显然不够,找到原因后,对/dev/sdb2中内容进行清理,腾出足够空间,再次执行上边的插入字段语句就没有再报错,顺利执行完了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,出现错误"binascii.error: incorrect padding"是因为在进行base64解码时,输入的字符串长度不是4的倍数,或者字符串中包含了非法字符。为了解决这个问题,你可以尝试以下方法: 1. 确保输入的字符串长度是4的倍数,可以通过在字符串末尾添加适当数量的"="字符来实现。例如,如果字符串长度不是4的倍数,可以添加一个或两个"="字符。 2. 检查输入的字符串是否包含非法字符。base64编码只能包含字母、数字、"+"和"/"字符,如果字符串中包含其他字符,会导致解码错误。你可以使用正则表达式或其他方法来检查字符串中是否包含非法字符。 3. 如果以上方法都无法解决问题,可能是因为输入的字符串本身存在问题。你可以尝试使用其他方法或库来进行base64解码,例如使用`base64.b64decode()`方法的替代方法。 以下是一个示例代码,演示了如何解决"binascii.error: incorrect padding"错误: ```python import base64 def base64_decode(encoded_string): # 检查字符串长度是否是4的倍数 if len(encoded_string) % 4 != 0: # 添加适当数量的"="字符 encoded_string += "=" * (4 - len(encoded_string) % 4) try: # 进行base64解码 decoded_string = base64.b64decode(encoded_string) return decoded_string except binascii.Error: # 处理解码错误 return "解码错误:非法字符或字符串长度不正确" # 示例用法 encoded_string = "SGVsbG8gd29ybGQh" decoded_string = base64_decode(encoded_string) print(decoded_string) # 输出:Hello world! ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值