下面您可以看到日志中显示崩溃的部分。复制服务器是 5.6,主服务器是 5.5,但此设置在上周左右一直出现警告。现在,在尝试更改一些用户权限后,复制服务器崩溃并且无法再次加载。有什么想法可以从哪里开始吗?
18:39:32 UTC - mysqld 收到信号 11 ;这可能是因为您遇到了错误。也可能是这个二进制文件或它所链接的某个库已损坏、构建不当或配置错误。此错误也可能是由硬件故障引起的。我们将尽力收集一些信息,希望这些信息有助于诊断问题,但由于我们已经崩溃,肯定出了问题,这可能会失败。
key_buffer_size=262144 read_buffer_size=524288 max_used_connections=1 max_threads=200 thread_count=2 connection_count=0 mysqld 有可能使用最多 key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 156591 K 字节的内存,希望这样没问题;如果不行,请减少等式中的某些变量。
线程指针:0x7fb01c000990 正在尝试回溯。您可以使用以下信息来找出 mysqld 死机的位置。如果此后您看不到任何消息,则表明出现了严重错误... stack_bottom = 7fb0387649f0 thread_stack 0x40000 /usr/sbin/mysqld(my_print_stacktrace+0x20)[0x83f710] /usr/sbin/mysqld(handle_fatal_signal+0x34d)[0x61fbbd] /lib64/libpthread.so.0(+0x11240)[0x7fb2739b9240] /usr/sbin/mysqld[0x641849] /usr/sbin/mysqld(_Z17mysql_create_userP3THDR4ListI11st_lex_userE+0x25d)[0x6467bd] /usr/sbin/mysqld(_Z21mysql_execute_commandP3THD+0x201c)[0x68cc1c] /usr/sbin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_state+0x328)[0x691858] /usr/sbin/mysqld(_ZN15Query_log_event14do_apply_eventEPK14Relay_log_infoPKcj+0xc75)[0x7e5e95] /usr/sbin/mysqld(_ZN9Log_event11apply_eventEP14Relay_log_info+0x6b)[0x7e3ecb] /usr/sbin/mysqld(_Z26apply_event_and_update_posPP9Log_eventP3THDP14Relay_log_info+0x25c)[0x813cbc] /usr/sbin/mysqld(handle_slave_sql+0xde9)[0x816dc9] /usr/sbin/mysqld(pfs_spawn_thread+0x123)[0xa224a3] /lib64/libpthread.so.0(+0x91da)[0x7fb2739b11da] /lib64/libc.so.6(clone+0x6d)[0x7fb2730ec9cd]
尝试获取一些变量。一些指针可能无效并导致转储中止。查询 (7fb01c021a8a):是无效指针连接 ID(线程 ID):2 状态:NOT_KILLED
手册页位于http://dev.mysql.com/doc/mysql/en/crashing.html 包含可帮助您找出导致崩溃的原因的信息。
答案1
当问题与共享内存分配无关时,例如您的情况,好的起点是 mysql 错误跟踪器,或者至少是他们的专业社区。
我还建议您:
- 检查服务器的内存memtest86
- 安装并尝试较新版本的 mysql 5.6.x 服务器
答案2
对此有帮助的是降级回 5.5 并让从属服务器运行它一直缺少的查询。似乎复制设置已丢失,所以我不得不重新启动复制。下一步是升级主服务器,然后相应地升级从属服务器。我假设 MySQL 错误崩溃与错误的表格式有关,因为这个 5.6 复制尚未正确升级。