InnoDB 中文参考手册 --- 13 出错处理

参考|参考手册|中文

InnoDB 中文参考手册 --- 犬犬(心帆)翻译 13 出错处理
InnoDB 的出错处理不总是与 ANSI SQL 指定的一致。依照 ANSI 标准,在一个 SQL 语句中的任何错误都将引起这条语句的回滚。InnoDB 有时只回滚语句的一部分,有时则是整个事务。 下面的列表详细说明了 InnoDB 的出错处理。
如果用完了表空间内的文件空间,将会得到 MySQL 的 'Table is full' 错误,InnoDB 将回滚这条 SQL 语句。 事务的死锁或锁定等待的超时将会使 InnoDB 回滚整个事务。 一个重复键(duplicate key)只会回滚插入的细节行,甚至在如同 INSERT INTO ... SELECT ...的一个语句中。这或许会发生改变,所以如果在语句中没有指定 IGNORE 选项这个语句将产生回滚。 'row too long' 的错误将回滚整个 SQL 语句。 其它的错误主要由 MySQL 的代码层发现,它们将回滚相应的 SQL 语句。
 
13.1 MySQL 返回的某些错误代码
  1005 ER_CANT_CREATE_TABLE 不能建立表。如果错误信息串引用 errno 150,那么表创建失败是由于外键约束没能正确的形成。 1016 ER_CANT_OPEN_FILE 不能够通过 .frm 文件在 InnoDB 数据文件中找到 InnoDB 表。查看下面的“发现并修复数据字典错误的操作”章节。 1114 ER_RECORD_FILE_FULL InnoDB 用光了表空间内的剩余空间。你必须增加一个新的数据文件。 1205 ER_LOCK_WAIT_TIMEOUT 锁等待超时期满。事务被回滚。 1213 ER_LOCK_DEADLOCK 事务死锁。需要重新运行事务。 1216 ER_NO_REFERENCED_ROW 当试图增加一个新行时,但是没有父记录存在,外键约束失败。必须先添加父记录。 1217 ER_ROW_IS_REFERENCED 删除一个有子记录存在的父行,外键约束失败。必须先删除子记录。
 
13.2 某些操作系统的错误编码
在 Unix 系统中,使用 perror 程序来显示操作系统错误编码的含义,它包含在 MySQL 的分发中。

下面的列表显示常见的 Linux 系统错误代码。 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
I/O 错误 6 ENXIO
No such device or address
无此器件或地址 7 E2BIG
Arg list too long
Arg 列表太长 8 ENOEXEC
Exec format error
Exec 格式错误 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 系统错误代码。 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.
驱动器中磁盘错误。插入 %2 (盘卷序列号:%3)到驱动器 %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.
磁盘已满
112 ERROR_DISK_FULL
The disk is full.
磁盘已满
123 ERROR_INVALID_NAME
The filename, directory name, or volume label syntax is incorrect.
文件名,目录名或卷标语法出错

时间: 2024-09-15 13:58:34

InnoDB 中文参考手册 --- 13 出错处理的相关文章

InnoDB 中文参考手册 --- 目录

参考|参考手册|中文 InnoDB 中文参考手册 --- 犬犬(心帆)翻译 InnoDB home InnoDB Engine in MySQL-Max-3.23.56/MySQL-4.0.12The Up-to-Date Reference Manual of InnoDB Updated April 21, 2003: Added notes to section 4.3 that a self-referential ON UPDATE CASCADE and SET NULL conve

InnoDB 中文参考手册 --- 3 建立一个 InnoDB 数据库

参考|参考手册|数据|数据库|中文 InnoDB 中文参考手册 --- 犬犬(心帆)翻译 3 建立一个 InnoDB 数据库假设你已经安装了 MySQL 并且已经修改了 my.cnf 包含了必要的 InnoDB 参数设置 .在启动 MySQL 之前必须检查为InnoDB 指定的数据与日志文件路径是否存在以及在 这些目录上有足够的权限.InnoDB 不会自己建立目录,只能建立文件.同时检查是否有足够的磁盘空间存放数据与日志文件. 当创建一个 InnoDB 数据库时最好以命令行方式来运行 MySQL

InnoDB 中文参考手册 --- 6 备份和恢复 InnoDB 数据库

备份|参考|参考手册|恢复|数据|数据库|中文 InnoDB 中文参考手册 --- 犬犬(心帆)翻译 6 备份和恢复 InnoDB 数据库安全的数据库管理就是使用正规的数据备份. InnoDB Hot Backup 是一个在线备份工具,你可以在 InnoDB 数据库运行时使用它来实现在线备份.InnoDB Hot Backup 不需要你关闭你的服务器也不需要加任何锁或影响其它普通的数据操作.InnoDB Hot Backup 是一个非免费的附加工具,它的费用为每 MySQL 服务器每年 400

InnoDB 中文参考手册 --- 8 InnoDB 事务模式与锁定

参考|参考手册|中文 InnoDB 中文参考手册 --- 犬犬(心帆)翻译 8 InnoDB 事务模式与锁定在 InnoDB 事务处理模式中, the goal has been to combine the best properties of a multiversioning database to traditional two-phase locking. InnoDB 进行行级的锁定,并以与 Oracle 非锁定读取(non-locking)类似的方式读取数据. InnoDB 中的锁

InnoDB 中文参考手册 --- 9 性能调整技巧

参考|参考手册|技巧|性能|中文 InnoDB 中文参考手册 --- 犬犬(心帆)翻译 9 性能调整技巧(Performance tuning tips)1. 如果 Unix top 或 Windows 任务管理器(Task Manager) 显示服务的 CPU 占用率小于 70%,(shows that the CPU usage percentage with your workload is less than 70 %,)你的系统瓶颈可能在磁盘读写上.或许你提交了大量的事务,或者是缓冲池

InnoDB 中文参考手册 --- 5 添加与移除 InnoDB 数据和日志文件

参考|参考手册|数据|中文 InnoDB 中文参考手册 --- 犬犬(心帆)翻译 5 添加与移除 InnoDB 数据和日志文件为了添加一个数据文件到表空间中,首先要关闭 MySQL 数据库,编辑 my.cnf 文件,在 innodb_data_file_path 中添加一个新文件,然后再重新启动服务. 如果,最后一个文件以关键字 autoextend 来描述,那么编辑 my.cnf 的过程如下所示.必须检查最后一个文件的尺寸,并使它向下接近于 1024 * 1024 bytes (= 1 MB)

InnoDB 中文参考手册 --- 译者序

参考|参考手册|中文 InnoDB 中文参考手册 译者: 犬犬(心帆) Shuixin13@163.com0 译者序 Enterprise Level Solutions, High Availability and Robust Data Integrity for MySQL Transactions, row level locking, hot backup, and foreign keys for MySQL - without compromising the speed of M

InnoDB 中文参考手册 --- InnoDB Tables 概述

参考|参考手册|中文 InnoDB 中文参考手册 --- 犬犬(心帆)翻译 1 InnoDB Tables 概述 InnoDB 给 MySQL 提供了具有事务(commit).回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表.InnoDB 提供了行锁(locking on row level),提供与 Oracle 类型一致的不加锁读取(non-locking re

InnoDB 中文参考手册 --- 2 InnoDB 启动选项

参考|参考手册|中文 InnoDB 中文参考手册 --- 犬犬(心帆)翻译 2 InnoDB 启动选项为了在 MySQL-Max-3.23 中使用 InnoDB 表,你必须在配置文件'my.cnf'或'my.ini'(WINDOWS系统)中的 [mysqld] 区中详细指定配置参数. 作为最小设置,在 3.23 中你必须在 innodb_data_file_path 上指定数据文件名能及大小.如果在'my.cnf'中没有指定innodb_data_home_dir,系统将在 MySQL 的 da