MySQL下perror工具查看System Error Code信息
在MySQL数据库的维护过程中,我们有时候会在MySQL的错误日志文件中看到一些关于Operating system error的错误信息,例如在MySQL的错误日志里面,有时候会看到关于
1
2
3
4
5
6
7
8
9
10
|
InnoDB: Operating system error number 0 .
InnoDB: Check that your OS and file system support files of this size.
InnoDB: Check also that the disk is not full or a disk quota exceeded. InnoDB: Operating system error number 5 .
........................................... |
那么这些System Error Code在Linux下分别代表什么意思呢?其实如果遇到错误日志里有这些对应的代码,使用MySQL自带的命令工具perror查看一下具体信息即可。非常简单方便。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[root @DB -Server ~]# perror 2 ;
OS error code 2 : No such file or directory
[root @DB -Server ~]# perror 3 ;
OS error code 3 : No such process
[root @DB -Server ~]# perror 4 ;
OS error code 4 : Interrupted system call
[root @DB -Server ~]# perror 5 ;
OS error code 5 : Input/output error
[root @DB -Server ~]#
|
如果你要查看一个范围的Operating system error,可以使用下面命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
[root @DB -Server ~]# perror `seq 0 10 `
OS error code 0 : Success
OS error code 1 : Operation not permitted
OS error code 2 : No such file or directory
OS error code 3 : No such process
OS error code 4 : Interrupted system call
OS error code 5 : Input/output error
OS error code 6 : No such device or address
OS error code 7 : Argument list too long
OS error code 8 : Exec format error
OS error code 9 : Bad file descriptor
OS error code 10 : No child processes
[root @DB -Server ~]#
|
如果是集群,那么可以shell> perror –ndb errorcode查看, 下面表格是关于Linux平台下通用的System Error Code列表,如下所示,完全没有必要硬性记住。遇到查看即可。
如果是Windows平台,那么也可以使用下面命令查看具体的System Error Code信息,另外,Windows平台下的System Error Code也远比Linux平台下要多,遇到了这些System Error Code,使用命令查看即可。
1
2
|
perror.exe 2
perror `perl -e "print join ' ',1..100" `
|
参考资料:
- http://www.makeru.com.cn/ Java学习交流群:587131012