【报错信息】
Set unsigned attribute on auto increment column in table 'XXX'.
给表“XXX”中的自增列设置unsigned属性。
【unsigned属性】
• 将数字类型无符号化,只针对整数类型
• 不允许负数,可以增加一倍的数据长度
• 对于主键是自增长的类型,一般希望主键是unsigned类型
• mysql数据库中unsigned数的操作结果都是unsigned的,因此当sql_mode不严格此时,所得结果可能也是不确定的。
需要设置参数sql_mode: set sql_mode='NO_UNSIGNED_SUBTRACTION';
【解决方法】
添加unsigned属性
CREATE TABLE `alarm_sla` (
`pk` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键' ,
PRIMARY KEY (`pk`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8
COMMENT='SLA存储表';
【报错信息】
Got error 28 from storage engine
从存储引擎获取错误28(磁盘空间满了或者分区被日志文件占满,导致MySQL挂掉)
【解决方法】
- df -h 检查服务器磁盘使用空间
- cd到磁盘根目录,du -sh * 看哪个目录占用空间大
- cd 占内存大的目录,继续 du -sh *
- find -size +100M 查找大于100M的文件,单位也可用G
du -h --max-depth=1 /dir 查询该目录下子文件夹占用情况,并显示该目录占用空间的总和
-
重复前两步,根据实际情况删除或者移走
• 日志 运行cat /dev/null > file.log清空(mysql文件夹下的catalina.out可以删除,echo " " > catalina.out 即可)
• 软件包 rpm -e 卸载或者rm -rf dir扫描二维码关注公众号,回复: 4952974 查看本文章