mysql - 尝试为大型表的列添加全文搜索时,XAMPP 的 MariaDB 挂起

标签 mysql phpmyadmin xampp mariadb

我有适用于 Windows 的 XAMPP 5.6.15,它正在运行 10.1.9-MariaDB。我有一个表,InnoDB,具有大量记录和大小,49888 条记录和 245 MiB 大小。其大小主要在一列中包含名为 tafText 的文本。

使用 PHPMyAdmin,我尝试在该列上设置全文搜索。然而,mysqld 被挂起,数据库服务器被置顶:

enter image description here

以下是错误发生后生成的错误日志的副本:

    2016-10-18 20:49:22 13360 [Note] InnoDB: Online DDL : Start
2016-10-18 20:49:22 13360 [Note] InnoDB: Online DDL : Start reading clustered index of the table and create temporary files
2016-10-18 20:49:22 1d78  InnoDB: Assertion failure in thread 7544 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.
161018 20:49:22 [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!RtlSubscribeWnfStateChangeNotification()
ntdll.dll!RtlSubscribeWnfStateChangeNotification()
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.

我的 mysql 设置有什么错误导致此操作失败?

以下是 my.ini 中 InnoDB 相关设置的副本:

# Comment the following if you are using InnoDB tables
#skip-innodb
innodb_data_home_dir = "C:/xampp-3/mysql/data"
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = "C:/xampp-3/mysql/data"
#innodb_log_arch_dir = "C:/xampp-3/mysql/data"
## You can set .._buffer_pool_size up to 50 - 80 %
## of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 256M
innodb_additional_mem_pool_size = 125M
## Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

最佳答案

如果您输入“InnoDB:失败断言:b <&block [srv_sort_buf_size]”,很容易通过谷歌找到:)

此错误已在 https://jira.mariadb.org/browse/MDEV-9129 中报告。 ,已在 MariaDB 10.1.10 中修复。你有10.1.9,所以它没有修复。

关于mysql - 尝试为大型表的列添加全文搜索时,XAMPP 的 MariaDB 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40116169/

相关文章:

java - 如何使用 java JDBC 获取 MySql 的数据库 "Schema"名称列表

mysql - 将用户 .csv 文件中的数据导入表中

php - 在 phpmyadmin 中导入 csv 后为空列

php - 在我的计算机上使用 PHP 从 MySQL InnoDB 数据库 [XAMPP] 获取结果比在其他计算机上花费的时间长得多

php - 警告 : mysql_query() [function. mysql-query]:用户 'ODBC' @'localhost' 的访问被拒绝(使用密码:NO)

c# - LINQ 语句中的多个 OR 子句

mysql - 字段列表中的列 'field' 在 mysql 中不明确

php - 如何创建 `phpmyadmin`数据库

mysql - phpMyAdmin设置了空白用户和pass,但是 'allownopassword'设置为false,可以登录吗?

mysql - 无法启动 Apache 和 MySql - 端口繁忙