我已经与这个错误斗争了很长时间,当我运行脚本到 MySQL(Percona)时我会断开连接,而当我尝试从实时服务器导入 mysql 转储时它也会断开我的连接。
所以我要努力解决的问题是,为什么每次我尝试运行脚本或尝试使用 GUI 客户端导入某些东西时,连接都会被拒绝。
有没有想过之前如何获取此消息并让别人知道这里发生了什么?它是我们开发服务器上的本地数据库,因此现在不是那么重要。
06:23:02 UTC - mysqld 收到信号 6 ;这可能是因为您遇到了错误。也可能是此二进制文件或它所链接的库之一已损坏、构建不正确或配置错误。此错误也可能是由硬件故障引起的。尝试收集一些有助于诊断问题的信息。由于这是一次崩溃,而且肯定出了问题,因此信息收集过程可能会失败。请帮助我们改进 Percona Server,方法是报告任何错误http://bugs.percona.com/
key_buffer_size=8388608 read_buffer_size=131072 max_used_connections=19 max_threads=152 thread_count=16 connection_count=16 mysqld 有可能使用最多 key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 68309 K 字节的内存,希望这样没问题;如果不行,减少等式中的某些变量。
线程指针:0x7f8c80000ae0 尝试回溯。您可以使用以下信息找出 mysqld 死机的位置。如果此后没有看到任何消息,则表明出现了严重错误... stack_bottom = 7f8cd0cd0e80 thread_stack 0x30000 /usr/sbin/mysqld(my_print_stacktrace+0x2c)[0xe8197c] /usr/sbin/mysqld(handle_fatal_signal+0x479)[0x797f89] /lib/x86_64-linux-gnu/libpthread.so.0(+0xf8d0)[0x7f8d06efc8d0] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37)[0x7f8d04e82067] /lib/x86_64-linux-gnu/libc.so.6(abort+0x148)[0x7f8d04e83448] /usr/sbin/mysqld[0x76c931] /usr/sbin/mysqld(_ZN2ib5fatalD1Ev+0x15d)[0x10cd45d] /usr/sbin/mysqld(_Z20buf_page_io_completeP10buf_page_tb+0x9c0)[0x110eff0] /usr/sbin/mysqld[0x113c424] /usr/sbin/mysqld(_Z13buf_read_pageRK9page_id_tRK11page_size_tP5trx_t+0x38)[0x113cc68] /usr/sbin/mysqld(_Z16buf_page_get_genRK9page_id_tRK11page_size_tmP11buf_block_tmPKcmP5mtr_tb+0x4a6)[0x110c096] /usr/sbin/mysqld(_Z27btr_cur_search_to_nth_levelP12dict_index_tmPK8dtuple_t15page_cur_mode_tmP9btr_cur_tmPKcmP5mtr_t+0x5db)[0x10ecdcb] /usr/sbin/mysqld[0x103f8a8] /usr/sbin/mysqld(_Z15row_search_mvccPh15page_cur_mode_tP14row_prebuilt_tmm+0x111b)[0x104266b] /usr/sbin/mysqld(_ZN11ha_innobase13general_fetchEPhjj+0x1bb)[0xf317cb] /usr/sbin/mysqld(_ZN7handler18ha_index_next_sameEPhPKhj+0x141)[0x7fa561] /usr/sbin/mysqld[0xc2b8fa] /usr/sbin/mysqld(_Z10sub_selectP4JOINP7QEP_TABb+0x147)[0xc326d7] /usr/sbin/mysqld(_ZN4JOIN4execEv+0x3b8)[0xc2b198] /usr/sbin/mysqld(_Z12handle_queryP3THDP3LEXP12Query_resultyy+0x238)[0xc9d7a8] /usr/sbin/mysqld[0x75f30d] /usr/sbin/mysqld(_Z21mysql_execute_commandP3THDb+0x342c)[0xc5db8c] /usr/sbin/mysqld(_Z11mysql_parseP3THDP12Parser_state+0x625)[0xc60d25] /usr/sbin/mysqld(_Z16dispatch_commandP3THDPK8COM_DATA19enum_server_command+0x877)[0xc61617] /usr/sbin/mysqld(_Z10do_commandP3THD+0x1b7)[0xc62c27] /usr/sbin/mysqld(handle_connection+0x2a0)[0xd257e0] /usr/sbin/mysqld(pfs_spawn_thread+0x1b4)[0xe9e804] /lib/x86_64-linux-gnu/libpthread.so.0(+0x80a4)[0x7f8d06ef50a4] /lib/x86_64-linux-gnu/libc.so.6(克隆+0x6d)[0x7f8d04f3562d]
PHP 的脚本错误是随机的。
PDOException: SQLSTATE[HY000] [2006] MySQL server has gone away
PDOException: SQLSTATE[HY000] [2002] Connection refused
答案1
此错误可能有多种原因。通常这是由数据库损坏引起的。通过以下方式检查是否是这种情况:
mysqlcheck --check --all-databases
您提到的 PHP 异常并不重要;它们是由数据库崩溃引起的,是结果而不是原因。