mysql 启动错误(InnoDB: Operating system error number 1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 启动错误(InnoDB: Operating system error number 1相关的知识,希望对你有一定的参考价值。

mysql 启动错误(InnoDB: Operating system error number 13 )                  

环境:mysq 5.6.35、centos 7.3

问题描述:

今天下午开发过来说开发库无法连接了,登录服务器后发现mysql进程down了

启动mysql:

 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

启动时报错,无法正常启动mysql

查询告警日志文件

如果错误信息如下

2018-07-03 15:19:11 7f6e0dc9e700  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
2018-07-03 15:19:11 7f6e0dc9e700  InnoDB: Assertion failure in thread 140110654465792 in file fil0fil.cc line 875
InnoDB: Failing assertion: ret
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
07:19:11 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

key_buffer_size=8388608
read_buffer_size=262144
max_used_connections=5
max_threads=1024
thread_count=3
connection_count=3
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 545584 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x511a8b0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 7f6e0dc9de90 thread_stack 0x30000
/usr/local/mysql/bin/mysqld(my_print_stacktrace+0x35)[0x9122f5]
/usr/local/mysql/bin/mysqld(handle_fatal_signal+0x3d8)[0x675f18]
/lib64/libpthread.so.0(+0xf370)[0x7f6e7ca9a370]
/lib64/libc.so.6(gsignal+0x37)[0x7f6e7b6991d7]
/lib64/libc.so.6(abort+0x148)[0x7f6e7b69a8c8]
/usr/local/mysql/bin/mysqld[0xa74431]
/usr/local/mysql/bin/mysqld[0xa7462b]
/usr/local/mysql/bin/mysqld[0xa7d319]
/usr/local/mysql/bin/mysqld[0xa480f0]
/usr/local/mysql/bin/mysqld[0xa489cb]
/usr/local/mysql/bin/mysqld[0xa36643]
/usr/local/mysql/bin/mysqld[0xa2177f]
/usr/local/mysql/bin/mysqld[0x9cb948]
/usr/local/mysql/bin/mysqld[0x92cf30]
/usr/local/mysql/bin/mysqld[0x924799]
/usr/local/mysql/bin/mysqld[0x92cc69]
/usr/local/mysql/bin/mysqld(_ZN7handler11ha_rnd_nextEPh+0x64)[0x58cf54]
/usr/local/mysql/bin/mysqld(_Z13rr_sequentialP11READ_RECORD+0x37)[0x841ba7]
/usr/local/mysql/bin/mysqld(_Z10sub_selectP4JOINP13st_join_tableb+0x10f)[0x6d472f]
/usr/local/mysql/bin/mysqld(_ZN4JOIN4execEv+0x435)[0x6d21e5]
/usr/local/mysql/bin/mysqld[0x719839]
/usr/local/mysql/bin/mysqld(_Z12mysql_selectP3THDP10TABLE_LISTjR4ListI4ItemEPS4_P10SQL_I_ListI8st_orderESB_S7_yP13select_resultP18st_select_lex_unitP13st_select_lex+0xbc)[0x719b6c]
/usr/local/mysql/bin/mysqld(_Z13handle_selectP3THDP13select_resultm+0x184)[0x719d84]
/usr/local/mysql/bin/mysqld[0x6f3da9]
/usr/local/mysql/bin/mysqld(_Z21mysql_execute_commandP3THD+0x3ab7)[0x6f9457]
/usr/local/mysql/bin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_state+0x377)[0x6fcb77]
/usr/local/mysql/bin/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0x19ed)[0x6fec8d]
/usr/local/mysql/bin/mysqld(_Z10do_commandP3THD+0xd7)[0x7000e7]
/usr/local/mysql/bin/mysqld(_Z24do_handle_one_connectionP3THD+0x116)[0x6c6ca6]
/usr/local/mysql/bin/mysqld(handle_one_connection+0x45)[0x6c6d85]
/usr/local/mysql/bin/mysqld(pfs_spawn_thread+0x126)[0xae5796]
/lib64/libpthread.so.0(+0x7dc5)[0x7f6e7ca92dc5]
/lib64/libc.so.6(clone+0x6d)[0x7f6e7b75b76d]

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (7f6db4013740): is an invalid pointer
Connection ID (thread ID): 194
Status: NOT_KILLED

The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.

通过上述报错日志内容分析可能是权限导致的

错误13说明没有权限。使用命令

chmod -R 777  可以解决

[[email protected] mysql]# chmod -R 777 /usr/local/mysql/
[[email protected] mysql]# chown -R mysql:mysql /usr/local/mysql/


[[email protected] mysql]# chmod -R 777 /mysql/data/
[[email protected] mysql]# chown -R mysql:mysql /mysql/data/


提示一下:这个error number 就是系统的错误号,也是程序里的errorno

附上linux的 错误码信息


errno.00 is: Success    成功
errno.01 is: Operation not permitted         不允许此类操作
errno.02 is: No such file or directory         没有此文件或目录
errno.03 is: No such process                    没有此进程
errno.04 is: Interrupted system call           中断系统调用
errno.05 is: Input/output error                   输入输出错误
errno.06 is: No such device or address    没有此设备或地址
errno.07 is: Argument list too long            参数过长
errno.08 is: Exec format error                   执行格式错误
errno.09 is: Bad file descriptor                  无效的文件描述符
errno.10 is: No child processes                 不存在子进程
errno.11 is: Resource temporarily unavailable   资源暂时不可用
errno.12 is: Cannot allocate memory         分配内存失败
errno.13 is: Permission denied                   权限错误
errno.14 is: Bad address                           地址错误
errno.15 is: Block device required             块设备请求
errno.16 is: Device or resource busy         设备或资源忙
errno.17 is: File exists                                文件已经存在
errno.18 is: Invalid cross-device link          无效的交叉连接设备
errno.19 is: No such device                       没有此设备
errno.20 is: Not a directory                        不是一个目录
errno.21 is: Is a directory                           是一个目录
errno.22 is: Invalid argument                     参数非法
errno.23 is: Too many open files in system    系统打开文件太多
errno.24 is: Too many open files               打开文件太多
errno.25 is: Inappropriate ioctl for device          设备部支持该操作
errno.26 is: Text file busy                           文本文件忙
errno.27 is: File too large                           文件太大
errno.28 is: No space left on device            设备没有空间,一般为存储设备
errno.29 is: Illegal seek                               非法的seek操作
errno.30 is: Read-only file system               只读文件系统
errno.31 is: Too many links                         太多连接
errno.32 is: Broken pipe                              管道破裂
errno.33 is: Numerical argument out of domain          数值参数超出取值范围
errno.34 is: Numerical result out of range                  数值结果超出取值范围
errno.35 is: Resource deadlock avoided                   资源死锁
errno.36 is: File name too long                        文件名太长
errno.37 is: No locks available                         没有可用的锁
errno.38 is: Function not implemented            函数没有执行
errno.39 is: Directory not empty                      目录非空
errno.40 is: Too many levels of symbolic links 太多级符号连接
errno.41 is: Unknown error 41                         41未知错误
errno.42 is: No message of desired type         不被接受的消息类型
errno.43 is: Identifier removed                        标识符已被删除
errno.44 is: Channel number out of range     。。。
errno.45 is: Level 2 not synchronized
errno.46 is: Level 3 halted
errno.47 is: Level 3 reset
errno.48 is: Link number out of range
errno.49 is: Protocol driver not attached
errno.50 is: No CSI structure available
errno.51 is: Level 2 halted
errno.52 is: Invalid exchange
errno.53 is: Invalid request descriptor
errno.54 is: Exchange full
errno.55 is: No anode
errno.56 is: Invalid request code
errno.57 is: Invalid slot
errno.58 is: Unknown error 58
errno.59 is: Bad font file format
errno.60 is: Device not a stream
errno.61 is: No data available
errno.62 is: Timer expired
errno.63 is: Out of streams resources
errno.64 is: Machine is not on the network
errno.65 is: Package not installed
errno.66 is: Object is remote
errno.67 is: Link has been severed
errno.68 is: Advertise error
errno.69 is: Srmount error
errno.70 is: Communication error on send
errno.71 is: Protocol error
errno.72 is: Multihop attempted
errno.73 is: RFS specific error
errno.74 is: Bad message
errno.75 is: Value too large for defined data type
errno.76 is: Name not unique on network
errno.77 is: File descriptor in bad state
errno.78 is: Remote address changed
errno.79 is: Can not access a needed shared library
errno.80 is: Accessing a corrupted shared library
errno.81 is: .lib secion in a.out corrupted
errno.82 is: Attempting to link in too many shared libraries
errno.83 is: Cannot exec a shared library directly
errno.84 is: Invalid or incomplete multibyte or wide character
errno.85 is: Interrupted system call should be restarted
errno.86 is: Streams pipe error
errno.87 is: Too many users
errno.88 is: Socket operation on non-socket
errno.89 is: Destination address required
errno.90 is: Message too long
errno.91 is: Protocol wrong type for socket
errno.92 is: Protocol not available
errno.93 is: Protocol not supported
errno.94 is: Socket type not supported
errno.95 is: Operation not supported
errno.96 is: Protocol family not supported
errno.97 is: Address family not supported by protocol
errno.98 is: Address already in use
errno.99 is: Cannot assign requested address
errno.100 is: Network is down
errno.101 is: Network is unreachable
errno.102 is: Network dropped connection on reset
errno.103 is: Software caused connection abort
errno.104 is: Connection reset by peer
errno.105 is: No buffer space available
errno.106 is: Transport endpoint is already connected
errno.107 is: Transport endpoint is not connected
errno.108 is: Cannot send after transport endpoint shutdown
errno.109 is: Too many references: cannot splice
errno.110 is: Connection timed out
errno.111 is: Connection refused
errno.112 is: Host is down
errno.113 is: No route to host
errno.114 is: Operation already in progress
errno.115 is: Operation now in progress
errno.116 is: Stale NFS file handle
errno.117 is: Structure needs cleaning
errno.118 is: Not a XENIX named type file
errno.119 is: No XENIX semaphores available
errno.120 is: Is a named type file
errno.121 is: Remote I/O error
errno.122 is: Disk quota exceeded
errno.123 is: No medium found
errno.124 is: Wrong medium type
errno.125 is: Operation canceled
errno.126 is: Required key not available
errno.127 is: Key has expired
errno.128 is: Key has been revoked
errno.129 is: Key was rejected by service
errno.130 is: Owner died
errno.131 is: State not recoverable
errno.132 is: Unknown error 132
132-255全是Unknown error

windows的错误码信息


NumberMacroDescription
1ERROR_INVALID_FUNCTIONIncorrect function.
2ERROR_FILE_NOT_FOUNDThe system cannot find the file specified.
3ERROR_PATH_NOT_FOUNDThe system cannot find the path specified.
4ERROR_TOO_MANY_OPEN_FILESThe system cannot open the file.
5ERROR_ACCESS_DENIEDAccess is denied.
6ERROR_INVALID_HANDLEThe handle is invalid.
7ERROR_ARENA_TRASHEDThe storage control blocks were destroyed.
8ERROR_NOT_ENOUGH_MEMORYNot enough storage is available to process this command.
9ERROR_INVALID_BLOCKThe storage control block address is invalid.
10ERROR_BAD_ENVIRONMENTThe environment is incorrect.
11ERROR_BAD_FORMATAn attempt was made to load a program with an incorrect format.
12ERROR_INVALID_ACCESSThe access code is invalid.
13ERROR_INVALID_DATAThe data is invalid.
14ERROR_OUTOFMEMORYNot enough storage is available to complete this operation.
15ERROR_INVALID_DRIVEThe system cannot find the drive specified.
16ERROR_CURRENT_DIRECTORYThe directory cannot be removed.
17ERROR_NOT_SAME_DEVICEThe system cannot move the file to a different disk drive.
18ERROR_NO_MORE_FILESThere are no more files.
19ERROR_WRITE_PROTECTThe media is write protected.
20ERROR_BAD_UNITThe system cannot find the device specified.
21ERROR_NOT_READYThe device is not ready.
22ERROR_BAD_COMMANDThe device does not recognize the command.
23ERROR_CRCData error (cyclic redundancy check).
24ERROR_BAD_LENGTHThe program issued a command but the command length is incorrect.
25ERROR_SEEKThe drive cannot locate a specific area or track on the disk.
26ERROR_NOT_DOS_DISKThe specified disk or diskette cannot be accessed.
27ERROR_SECTOR_NOT_FOUNDThe drive cannot find the sector requested.
28ERROR_OUT_OF_PAPERThe printer is out of paper.
29ERROR_WRITE_FAULTThe system cannot write to the specified device.
30ERROR_READ_FAULTThe system cannot read from the specified device.
31ERROR_GEN_FAILUREA device attached to the system is not functioning.
32ERROR_SHARING_VIOLATIONThe process cannot access the file because it is being used by another process.
33ERROR_LOCK_VIOLATIONThe process cannot access the file because another process has locked a portion of the file.
34ERROR_WRONG_DISKThe wrong diskette is in the drive. Insert %2 (Volume Serial Number: %3) into drive %1.
36ERROR_SHARING_BUFFER_EXCEEDEDToo many files opened for sharing.
38ERROR_HANDLE_EOFReached the end of the file.
39ERROR_HANDLE_DISK_FULLThe disk is full.
87ERROR_INVALID_PARAMETERThe parameter is incorrect.
112ERROR_DISK_FULLThe disk is full.
123ERROR_INVALID_NAMEThe file name, directory name, or volume label syntax is incorrect.
1450ERROR_NO_SYSTEM_RESOURCESInsufficient system resources exist to complete the requested service


以上是关于mysql 启动错误(InnoDB: Operating system error number 1的主要内容,如果未能解决你的问题,请参考以下文章

mysql服务启动不了,下面是mysql的错误日志

mysql 启动错误(InnoDB: Operating system error number 1

mysql启动错误处理

Amazon EC2,mysql 中止启动,因为 InnoDB:mmap(x 字节)失败;错误号 12

win10无法启动mysql服务 错误代码1067

mysql 启动报错