Запустите MySQLDump без таблиц блокировки - PullRequest
413 голосов
/ 19 сентября 2008

Я хочу скопировать живую производственную базу данных в мою локальную базу данных разработки. Есть ли способ сделать это без блокировки производственной базы данных?

Я сейчас использую:

mysqldump -u root --password=xxx -h xxx my_db1 | mysql -u root --password=xxx -h localhost my_db1

Но он блокирует каждую таблицу во время работы.

Ответы [ 14 ]

0 голосов
/ 28 февраля 2019

При использовании MySQL Workbench в разделе «Экспорт данных» щелкните «Дополнительные параметры» и снимите флажки «таблицы блокировки».

enter image description here

0 голосов
/ 10 сентября 2018

Сегодня Даже я столкнулся с той же проблемой, но у меня не было доступа к командной строке. Так что я открыл файл sql в редакторе Блокнота и удалил строку ниже из таблиц

LOCK TABLES `yourtable name` WRITE;

Затем я импортировал в свою среду разработки. Работает нормально. надеюсь, это поможет кому-то

0 голосов
/ 12 августа 2017

Еще один поздний ответ:

Если вы пытаетесь сделать горячую копию серверной базы данных (в среде linux) и ядром базы данных всех таблиц является MyISAM, вы должны использовать mysqlhotcopy.

Согласно документации:

Он использует FLUSH TABLES, LOCK TABLES и cp или scp для создания базы данных резервное копирование. Это быстрый способ сделать резервную копию базы данных или одного таблицы, но он может быть запущен только на том же компьютере, где база данных каталоги расположены. mysqlhotcopy работает только для резервного копирования MyISAM и ARCHIVE таблицы.

Время LOCK TABLES зависит от времени, когда сервер может копировать файлы MySQL (он не создает дамп).

0 голосов
/ 18 октября 2016

Поскольку ни один из этих подходов не работал для меня, я просто сделал:

mysqldump [...] | grep -v "LOCK TABLE" | mysql [...]

Это исключит команды LOCK TABLE <x> и UNLOCK TABLES.

Примечание: Надеюсь, ваши данные не содержат этой строки!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...