我有一个像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。我不知道问题是什么,如何解决,或者我创建的索引是否真的有效。有什么想法吗?
答案 0 :(得分:6)
在MySql Workbench中查找“连接保持活动”等属性。请参阅此答案:MySQL Workbench: How to keep the connection alive
答案 1 :(得分:0)
这可能是因为超时问题。将时间更改为更大的值。您可以在命令行界面或mysql工作台中执行此操作。