【问题标题】:Percona server quit without updating PID filePercona 服务器退出而不更新 PID 文件
【发布时间】:2016-12-12 03:33:34
【问题描述】:

无法弄清楚 MySQL 服务器出了什么问题。错误日志如下。我尝试了 innodb 恢复并删除文件并重新启动,但它没有帮助。 http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html

InnoDB: Serious error! InnoDB is trying to free page 1344
InnoDB: though it is already marked as free in the tablespace!
InnoDB: The tablespace free space info is corrupt.
InnoDB: You may need to dump your InnoDB tables and recreate the whole
InnoDB: database!
InnoDB: Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
160805  9:43:22  InnoDB: Assertion failure in thread 139839724754688 in file fsp0fsp.c line 3329
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.5/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
16:43:22 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.
Please help us make Percona Server better by reporting any
bugs at http://bugs.percona.com/

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

Thread pointer: 0x0
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 = 0 thread_stack 0x40000
/usr/sbin/mysqld(my_print_stacktrace+0x35)[0x7ce5a5]
/usr/sbin/mysqld(handle_fatal_signal+0x4b4)[0x6a2f54]
/lib64/libpthread.so.0(+0xf7e0)[0x7f2f139367e0]
/lib64/libc.so.6(gsignal+0x35)[0x7f2f11f915e5]
/lib64/libc.so.6(abort+0x175)[0x7f2f11f92dc5]
/usr/sbin/mysqld[0x919d97]
/usr/sbin/mysqld[0x91a148]
/usr/sbin/mysqld[0x8bb858]
/usr/sbin/mysqld[0x97b427]
/usr/sbin/mysqld[0x97b9d8]
/usr/sbin/mysqld[0x96f907]
/usr/sbin/mysqld[0x88e7a7]
/usr/sbin/mysqld[0x882d6c]
/lib64/libpthread.so.0(+0x7aa1)[0x7f2f1392eaa1]
/lib64/libc.so.6(clone+0x6d)[0x7f2f12047aad]
You may download the Percona Server operations manual by visiting
http://www.percona.com/software/percona-server/. You may find information
in the manual which will help you identify the cause of the crash.
160805 09:43:22 mysqld_safe mysqld from pid file /var/lib/mysql/websult.arvixevps.com.pid ended

【问题讨论】:

    标签: mysql centos cpanel percona


    【解决方案1】:
    InnoDB: Error: log file ./ib_logfile0 is of different size 0 33554432 bytes
    InnoDB: than specified in the .cnf file 0 5242880 bytes!
    

    当日志文件大小与预期不同时,InnoDB 不喜欢它。如果存在文件丢失或损坏的风险,则它可能无法用于数据恢复。 MySQL 会关闭,而不是冒进一步损坏您的数据的风​​险。

    默认文件大小为 5MB。但是您拥有的日志文件的大小是 32MB。所以很明显,您使用 有一个将日志文件大小设置为 32MB 的配置。可能有人删除了 /etc/my.cnf 文件,或者对其进行了编辑。

    您可以编辑您的 /etc/my.cnf 并设置:

    [mysqld]
    innodb_log_file_size=33554432
    

    然后重启 MySQL 服务。


    “您的数据库可能已损坏,或者您可能复制了 InnoDB InnoDB: 表空间,但没有复制 InnoDB 日志文件。”

    这是不言自明的。我怀疑你(或其他人)试图在不了解 MySQL 的情况下移动文件。如果您有最近的备份,您可以删除 ibdata1ib_logfile*,启动 MySQL,然后恢复您的备份。

    如果您没有备份,您需要一位能够解决此问题的 MySQL 顾问。我推荐https://twindb.com/mysql-data-recovery/https://www.percona.com/solutions/fix/data-recovery 寻求专家帮助。

    【讨论】:

    • 感谢您的回答,我更新了 my.cnf,现在错误似乎有所不同。请你调查一下。
    • 在您编辑问题以添加新错误后,我会看看我是否有任何想法。
    • 嗨@Bill Karwin,我已经更新了错误日志的详细信息。请看一看。
    【解决方案2】:

    尝试将以下内容添加到 /etc/my.cnf

    [mysqld] ...

    innodb_force_recovery = 1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-17
      • 1970-01-01
      • 1970-01-01
      • 2011-06-25
      • 2016-05-03
      • 2020-10-22
      • 1970-01-01
      相关资源
      最近更新 更多