我需要帮助和指导。我正在使用XAMPP本地服务器。
我尝试使用以下命令创建全文搜索索引:
CREATE FULLTEXT INDEX corp_nz ON corp_news(content ASC, subject ASC);
表corp_news有大约91000条记录,有7列。
当我触发此查询时,在phpmyadmin中,我看到一条弹出消息说" mysqld.exe无效"
令人惊讶的是,当我在仅有10,000条记录的corp_news表的子集上运行相同的查询时,没有错误消息,它工作得很好。
请有人请帮我解决这个问题?
我的服务器配置如下:
Server version: 10.1.9-MariaDB
key_buffer_size=16777216
read_buffer_size=262144
max_used_connections=2
max_threads=1001
thread_count=2
MySQL错误日志是:
2016-03-17 1:06:17 5088 [Note] InnoDB: Dumping buffer pool(s) not yet started
2016-03-17 1:06:17 5604 [Note] Plugin 'FEEDBACK' is disabled.
2016-03-17 1:06:17 5604 [Note] Server socket created on IP: '::'.
2016-03-17 1:06:17 5604 [ERROR] mysqld.exe: Table '.\mysql\db' is marked as crashed and should be repaired
2016-03-17 1:06:17 5604 [Warning] Checking table: '.\mysql\db'
2016-03-17 1:06:17 5604 [ERROR] mysql.db: 1 client is using or hasn't closed the table properly
2016-03-17 1:06:17 5604 [ERROR] mysqld.exe: Table '.\mysql\tables_priv' is marked as crashed and should be repaired
2016-03-17 1:06:17 5604 [Warning] Checking table: '.\mysql\tables_priv'
2016-03-17 1:06:17 5604 [ERROR] mysql.tables_priv: 1 client is using or hasn't closed the table properly
2016-03-17 1:06:17 5604 [ERROR] mysqld.exe: Table '.\mysql\columns_priv' is marked as crashed and should be repaired
2016-03-17 1:06:17 5604 [Warning] Checking table: '.\mysql\columns_priv'
2016-03-17 1:06:17 5604 [ERROR] mysql.columns_priv: 1 client is using or hasn't closed the table properly
2016-03-17 1:06:17 5604 [ERROR] mysqld.exe: Table '.\mysql\procs_priv' is marked as crashed and should be repaired
2016-03-17 1:06:17 5604 [Warning] Checking table: '.\mysql\procs_priv'
2016-03-17 1:06:17 5604 [ERROR] mysql.procs_priv: 1 client is using or hasn't closed the table properly
2016-03-17 1:06:17 5604 [Note] c:\xampp\mysql\bin\mysqld.exe: ready for connections.
Version: '10.1.9-MariaDB' socket: '' port: 3306 mariadb.org binary distribution
2016-03-17 1:07:48 4904 [Note] InnoDB: Online DDL : Start
2016-03-17 1:07:48 4904 [Note] InnoDB: Online DDL : Start reading clustered index of the table and create temporary files
2016-03-17 1:07:48 4904 [Note] InnoDB: Online DDL : End of reading clustered index of the table and create temporary files
2016-03-17 1:07:49 4904 [Note] InnoDB: Online DDL : Completed
2016-03-17 1:46:13 7868 [Note] InnoDB: Online DDL : Start
2016-03-17 1:46:13 7868 [Note] InnoDB: Online DDL : Start reading clustered index of the table and create temporary files
2016-03-17 01:46:14 17a4 InnoDB: Assertion failure in thread 6052 in file row0merge.cc line 892
InnoDB: Failing assertion: b < &block[srv_sort_buf_size]
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.
160317 1:46:14 [ERROR] mysqld got exception 0x80000003 ;
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.
To report this bug, see http://kb.askmonty.org/en/reporting-bugs
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.
Server version: 10.1.9-MariaDB
key_buffer_size=16777216
read_buffer_size=262144
max_used_connections=2
max_threads=1001
thread_count=2
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 787099 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
Thread pointer: 0x0x0
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...
mysqld.exe!my_parameter_handler()
mysqld.exe!my_mb_ctype_mb()
mysqld.exe!?set_charset@String@@QAEXPBUcharset_info_st@@@Z()
kernel32.dll!BaseThreadInitThunk()
ntdll.dll!RtlInitializeExceptionChain()
ntdll.dll!RtlInitializeExceptionChain()
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;
答案 0 :(得分:0)
根据MySQL错误报告系统:
此问题已在5.6.31,5.7.13版本中修复,此处为更改日志条目:
添加了全文索引的ALTER TABLE操作引发了 由于长度不匹配而断言。
虽然日志条目是关于alter table的,但我认为它是相关的。你能尝试一下所谓的固定版本吗?
如果没有,作为一种解决方法,我发现我可以转储表,截断它,然后添加索引,然后重新导入数据。
答案 1 :(得分:0)
这是Mariadb / Mysql / Percona的已知错误 您可以尝试增加排序缓冲区大小(有时它会有所帮助)。
即使是Mariadb 10.1.10报告,该错误已得到修复,它仍然会在10.1.18中崩溃我们的服务器。