创建索引导致与MySQL失去联系'

时间:2015-02-26 12:25:59

标签: mysql database

我有一个像this这样定义的表格。其中ProviderId是主键,StateID是外键,来自另一个表。它在我的笔记本电脑上运行,因此,它是一个本地数据库。在我的表中,我有大约900万条目。我运行以下命令为表创建一个新索引:

CREATE INDEX name_addr ON providers (ProviderName, Address, StateID, Zip);

它跑了大约10分钟,我收到了这条错误消息:

Error Code: 2013. Lost connection to MySQL server during query - 600.547 sec

我检查了我的日志,结果是:

150226 13:07:31    12 Query CREATE INDEX name_addr ON providers (ProviderName, Address, StateID, Zip)
150226 13:17:32    13 Connect   root@localhost on 
           13 Query set autocommit=1
           13 Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
           13 Query SHOW SESSION VARIABLES LIKE 'lower_case_table_names'
           13 Query SELECT current_user()
           13 Query SET CHARACTER SET utf8
           13 Query SET NAMES utf8
           13 Query SET SQL_SAFE_UPDATES=1
           13 Query SELECT CONNECTION_ID()
           13 Query SHOW SESSION STATUS LIKE 'Ssl_cipher'
           13 Query USE `workflydb`
           13 Query set autocommit=1

虽然我收到了一条错误消息,当我检查索引时,结果为this。我不知道问题是什么,如何解决,或者我创建的索引是否真的有效。有什么想法吗?

2 个答案:

答案 0 :(得分:6)

在MySql Workbench中查找“连接保持活动”等属性。请参阅此答案:MySQL Workbench: How to keep the connection alive

答案 1 :(得分:0)

这可能是因为超时问题。将时间更改为更大的值。您可以在命令行界面或mysql工作台中执行此操作。