在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