MySQL中操作系统级别错误代码与其含义


经常见到网友在发一些关于mysql操作出错的解决方法,现在整理一下。mysqlperformanceblog上明确说了,mysql里面出现的errno(操作系统级别的错误)没有经过任何改变,仅仅是封了一个错误代码,然后呈现给用户。下面是手册上对这些操作系统级别错误和其对应错误代码解释:

Linux平台:

  • Number Macro Description
    1 EPERM Operation not permitted
    2 ENOENT No such file or directory
    3 ESRCH No such process
    4 EINTR Interrupted system call
    5 EIO I/O error
    6 ENXIO No such device or address
    7 E2BIG Arg list too long
    8 ENOEXEC Exec format error
    9 EBADF Bad file number
    10 ECHILD No child processes
    11 EAGAIN Try again
    12 ENOMEM Out of memory
    13 EACCES Permission denied
    14 EFAULT Bad address
    15 ENOTBLK Block device required
    16 EBUSY Device or resource busy
    17 EEXIST File exists
    18 EXDEV Cross-device link
    19 ENODEV No such device
    20 ENOTDIR Not a directory
    21 EISDIR Is a directory
    22 EINVAL Invalid argument
    23 ENFILE File table overflow
    24 EMFILE Too many open files
    25 ENOTTY Inappropriate ioctl for device
    26 ETXTBSY Text file busy
    27 EFBIG File too large
    28 ENOSPC No space left on device
    29 ESPIPE Illegal seek
    30 EROFS Read-only file system
    31 EMLINK Too many links

    windows平台:
    • Number Macro Description
      1 ERROR_INVALID_FUNCTION Incorrect function.
      2 ERROR_FILE_NOT_FOUND The system cannot find the file specified.
      3 ERROR_PATH_NOT_FOUND The system cannot find the path specified.
      4 ERROR_TOO_MANY_OPEN_FILES The system cannot open the file.
      5 ERROR_ACCESS_DENIED Access is denied.
      6 ERROR_INVALID_HANDLE The handle is invalid.
      7 ERROR_ARENA_TRASHED The storage control blocks were destroyed.
      8 ERROR_NOT_ENOUGH_MEMORY Not enough storage is available to process this command.
      9 ERROR_INVALID_BLOCK The storage control block address is invalid.
      10 ERROR_BAD_ENVIRONMENT The environment is incorrect.
      11 ERROR_BAD_FORMAT An attempt was made to load a program with an incorrect format.
      12 ERROR_INVALID_ACCESS The access code is invalid.
      13 ERROR_INVALID_DATA The data is invalid.
      14 ERROR_OUTOFMEMORY Not enough storage is available to complete this operation.
      15 ERROR_INVALID_DRIVE The system cannot find the drive specified.
      16 ERROR_CURRENT_DIRECTORY The directory cannot be removed.
      17 ERROR_NOT_SAME_DEVICE The system cannot move the file to a different disk drive.
      18 ERROR_NO_MORE_FILES There are no more files.
      19 ERROR_WRITE_PROTECT The media is write protected.
      20 ERROR_BAD_UNIT The system cannot find the device specified.
      21 ERROR_NOT_READY The device is not ready.
      22 ERROR_BAD_COMMAND The device does not recognize the command.
      23 ERROR_CRC Data error (cyclic redundancy check).
      24 ERROR_BAD_LENGTH The program issued a command but the command length is incorrect.
      25 ERROR_SEEK The drive cannot locate a specific area or track on the disk.
      26 ERROR_NOT_DOS_DISK The specified disk or diskette cannot be accessed.
      27 ERROR_SECTOR_NOT_FOUND The drive cannot find the sector requested.
      28 ERROR_OUT_OF_PAPER The printer is out of paper.
      29 ERROR_WRITE_FAULT The system cannot write to the specified device.
      30 ERROR_READ_FAULT The system cannot read from the specified device.
      31 ERROR_GEN_FAILURE A device attached to the system is not functioning.
      32 ERROR_SHARING_VIOLATION The process cannot access the file because it is being used by another process.
      33 ERROR_LOCK_VIOLATION The process cannot access the file because another process has locked a portion of the file.
      34 ERROR_WRONG_DISK The wrong diskette is in the drive. Insert %2 (Volume Serial Number: %3) into drive %1.
      36 ERROR_SHARING_BUFFER_EXCEEDED Too many files opened for sharing.
      38 ERROR_HANDLE_EOF Reached the end of the file.
      39 ERROR_HANDLE_DISK_FULL The disk is full.
      87 ERROR_INVALID_PARAMETER The parameter is incorrect.
      112 ERROR_DISK_FULL The disk is full.
      123 ERROR_INVALID_NAME The file name, directory name, or volume label syntax is incorrect.
      1450 ERROR_NO_SYSTEM_RESOURCES Insufficient system resources exist to complete the requested service.

      有了这些错误代码,我想解决很多问题就简单多了,,另外需要注意,os级别的错误指的是errno,而不是ERROR xxx(HY000)这个错误代码,后者是mysql自身的。

相关内容