mysqldump и сбросить таблицы с блокировками чтения - PullRequest
0 голосов
/ 20 марта 2012

Я запускаю mysqdump с сервера1 на сервер2

Я использую команду mysqldump:

mysqldump -q -u dump -p######## -h ###.###.###.### --add-drop-database --add-drop-table --set-charset --all-databases > dump.sql

, пользователь и права указаны правильно.

Когда я запускаю это, я получаю выходной файл (dump.sql), но он останавливается на 948 920 байт и не увеличивается в размере, даже если я оставляю его на 1 час.

Я пробовал mysqldump 8 раз теперь с тем же сообщением от запущенного процесса:

292186  root    localhost   RED Query   26  Waiting for release of readlock LOCK TABLES `OLD_RED_NOTES` READ /*!32311 LOCAL */,`RED_ADD` READ /*!32311 LOCAL */,`RED_COUNTRY` RE

Если, однако, я не выполню FLUSH TABLES WITH READ LOCK;, я могу получить файл 7 ГБ безпроблема.

Я просто не могу понять, почему я не могу получить это с помощью блокировки таблицы!

Я ругаю Google в течение 48 часов без радости!Пожалуйста, помогите

1 Ответ

0 голосов
/ 21 марта 2012

Сделайте «SHOW PROCESSLIST» от имени пользователя root, чтобы увидеть, какие другие процессы бьют по вашей таблице и дают вам блокировку. Если ваши таблицы InnoDB, используйте SHOW ENGINE INNODB STATUS, который покажет блокировки InnoDB и другую информацию. Если вы используете MyISAM, "SHOW STATUS LIKE 'Table%'" покажет вам, если вы постоянно используете много блокировок или только с дампами.

...