Mysql常见的报错信息

1、ERROR  1264  :  Out of range value for column 

    译为:错误 1264 :列出的超出范围值

2、You have an error in your SQL syntax;

    check the manual that corresponds to your MySQL      server version for the right syntax to use near2。

      译为:您的SQL语法有错误;

      检查与您的MySQL服务器版本相对应的手册,以获得在near中使用的正确语法。

3、Column count doesn't match value count at row 1

      译为:列计数与第1行的值计数不匹配

4、Duplicate entry '309' for key 'PRIMARY';

      译为:primary”键的重复条目“309”;

5、Multiple primary key defined。

      译为:定义了多个主键;

6、MHA集群报错:The slave I/O thread stops because master and slave have equal MySQL server UUIDs;

MySQL搭建集群时报错,在配置主从数据库时,由于是件A主机的配置文件复制到B主机的配置文件,从而导致MySQL的UUID号都是一样的;

解决方法:

rm  -rf  删除 /var/lib/mysql/auto.cnf 这个存放UUID的文件,然后重新启动即可;

systemctl  restart  mysqld

7、ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

译为:错误2002(hy000):无法通过socket'/tmp/mysql.sock'(2)连接到本地mysql服务器

解决: ln -s /var/lib/mysql/mysql.sock  /tmp


ln的链接分软链接和硬链接两种:

1、软链接就是:“ln –s 源文件 目标文件”,只会在选定的位置上生成一个文件的镜像,不会占用磁盘空间,类似与windows的快捷方式。

2、硬链接ln源文件目标文件,没有参数-s, 会在选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

8、mycat数据分片,插入数据报错;

    mysql> insert into hotnews values

-> (10,"zzz","zzz","zzz");

ERROR 1064 (HY000): partition table insert must provide ColumnList

    译为:写入数据报错:分区表插入数据必须提供字段列表;


mysql> insert into hotnews(num,title,comment,worker)  values

-> (10,"zzz","zzz","zzz");

ERROR 1064 (HY000): partition table insert must provide ColumnList

9、redis集群创建报错;

>>> Creating cluster

[ERR] Node 192.168.4.10:6310 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

译为:>>>创建集群

[错误]节点192.168.4.10:6310不为空。节点已经知道其他节点(与群集节点一起检查)或在数据库0中包含某个键。

解决方案:清除redis内存中的所有数据即可;

先暂定redis服务,然后把/var/lib/redis/6379/*所有数据全部删掉,然后重启服务;

/etc/init.d/redis.6379  stop

/etc/init.d/redis.6379  start

rm  -rf  /var/lib/redis/6379/*

如果出现其他错误,实在看不明白的,执行下列命令重新创建集群;

重新创建集群的方法,所有做集群的服务器都需要执行;

]# /etc/init.d/redis_6379 stop      #暂停服务;

]# rm -rf /var/lib/redis/6379/*    #删除数据;

]# /etc/init.d/redis_6379 start    #重启服务;

   

]# netstat -utnlp  | grep redis-server    #再次创建


10、创建redis集群报错;

[root@nosql10 src]# redis-trib.rb create --replicas 1 192.168.4.10:6310 192.168.4.20:6320 192.168.4.30:6330 192.168.4.40:6340 192.168.4.50:6350 192.168.4.60:6360

>>> Creating cluster

>>> Performing hash slots allocation on 6 nodes...

Using 3 masters:

192.168.4.10:6310

192.168.4.20:6320

192.168.4.30:6330

Adding replica 192.168.4.50:6350 to 192.168.4.10:6310

Adding replica 192.168.4.60:6360 to 192.168.4.20:6320

......

......

Can I set the above configuration? (type 'yes' to accept): yes

/usr/local/share/gems/gems/redis-3.2.1/lib/redis/client.rb:113:in `call': ERR Slot 1180 is already busy (Redis::CommandError)

from /root/bin/redis-trib.rb:905:in `flush_nodes_config'

from /root/bin/redis-trib.rb:1426:in `create_cluster_cmd'

from /root/bin/redis-trib.rb:1830:in `

'

经检查,这是由于上一次配置集群失败时留下的配置信息导致的。 只要把redis.conf中定义的 cluster-config-file 所在的文件删除,重新启动redis-server及运行redis-trib即可。

解决方案:

暂停redis服务:/etc/init.d/redis.6379  stop

删除存储集群配置的信息:rm  -rf  /var/lib/redis/6379/nodes-6310.conf 

然后重启redis服务即可:/etc/init.d/redis.6379  start

你可能感兴趣的:(Mysql常见的报错信息)