Mac OS 10.11.2でMac Mini上でMySQL 5.7.10を実行しています.16GBのメモリと1 TBのSSDドライブに160GBの空き容量があります。CREATE INDEX中にMySQLサーバーへの接続が失われました
約12億レコードのテーブルがあり、サイズは約400GBです。それは、1年の間データを収集することを目的としています。しかし今、私は新しい複合インデックスが必要です。 mysql
コマンドラインユーティリティを使用して
:
CREATE INDEX composite_IDX USING BTREE ON db.stats (foo,bar(2),baz,quux,fum,shme);
しかし、私は日中、夜間に、またはにより忍耐を聞きながら、ローカルscreen
セッションでは、ローカル、リモートで実行するかどうかガンズ・アンド・ローゼズ、は、遅かれ早かれ、それは常に失敗します。
ERROR 2013 (HY000): Lost connection to MySQL server during query
は、このメッセージは私をたくさん教えてくれありません。なぜこのインデックスを作成できないのですか?私に何ができる?
私は/etc/mysql/my.cnf
に不合理なタイムアウトを追加しようとしました:
[mysqld]
default_password_lifetime=0
max_allowed_packet = 1G
net_read_timeout = 240
net_write_timeout = 1800
innodb_buffer_pool_size = 8G
innodb_flush_log_at_trx_commit = 2
# Add absurd timeout
wait_timeout = 172800
interactive_timeout = 172800
[mysqldump]
max_allowed_packet = 1G
しかし、それは何も変更しませんでした。私は基本的にここでストローを掴んでいます。
ダンノーは重複としてカウントされますが[この質問](https:// stackoverflow。com/questions/10563619/error-code-2013-lost-connection-to-mysql-server-between-query)が役に立ちます。 – Alfabravo
CREATE INDEXはdiskspaceを使います。diskspaceを使い果たしてMySQLが接続を終了したと思います。 –
あなたが持っている行の数と索引に含める列の数が少なすぎるとしても、エラーログに何かが表示されるはずです。 – fancyPants