Вот полный cmd для копий пастеровmysqldump -u USERNAME -h HOST --no-create-info --skip-triggers YOURDATABASENAME YOURTABLENAME --where='id=12345678'
Измир Рамирес
2
Если вы получаете Access denied for user ... to database '...' when doing LOCK TABLES, используйте--single-transaction
Rolf
@YzmirRamirez спасибо, но, к вашему сведению, в Windows мне пришлось использовать двойные кавычки --where. Например,--where="id=2"
Kip
Это был блестящий вкладчик для меня. Спасибо.
Кен Ингрэм
149
Это должно работать:
# To export to file (data only)
mysqldump -u [user]-p[pass]--no-create-info mydb > mydb.sql# To export to file (structure only)
mysqldump -u [user]-p[pass]--no-data mydb > mydb.sql# To import to database
mysql -u [user]-p[pass] mydb < mydb.sql
--no-create-dbизбыточно при использовании--no-create-info
Джеймс МакМэхон
4
Пробел -pв порядке
спасибо
12
Как правило, лучше просто использовать -p без указания пароля, чтобы пароль не сохранялся в вашей истории bash (вам будет предложено ввести пароль после выполнения команды).
Дан
2
В дополнение к совету @ Dan он также делает пароль видимым для любого пользователя, который может перечислить текущие процессы ( ps -ef)
TMG
1
Оставив пароль после того, как -pопция mysqldumpпредложит ввести пароль.
Мелле
22
>> man -k mysqldump [enter in the terminal]
Вы найдете ниже объяснение
--no-create-info, -t
Не пишите операторы CREATE TABLE, которые воссоздают каждую выведенную таблицу. Примечание. Этот параметр не исключает операторов, создающих группы файлов журналов или табличные пространства из вывода mysqldump; однако для этой цели вы можете использовать опцию --no-tablespaces.
--no-data, -d
Не записывайте какую-либо информацию о строках таблицы (то есть не создавайте дамп содержимого таблицы). Это полезно, если вы хотите вывести только таблицу CREATE TABLE для таблицы (например, создать пустую копию таблицы, загрузив файл дампа).
спасибо за --compactчто избавляется от лишних комментариев заявления
chiliNUT
2
Рекомендую использовать следующий фрагмент. Прекрасно работает даже с огромными таблицами (в противном случае вы откроете дамп в редакторе и удалите ненужные вещи, верно?;)
mysqldump --no-create-info --skip-triggers --extended-insert --lock-tables --quick DB TABLE > dump.sql
Требуется хотя бы mysql 5.x , но кто сейчас запускает старые вещи .. :)
Недавно я столкнулся с ситуацией, когда мне пришлось подключиться к системе, которая использовала 4.x на производстве. У них были пробелы в именах таблиц и столбцов, и, на мой взгляд, они делали в основном все неправильно.
При попытке экспортировать данные, используя принятый ответ, я получил ошибку:
ERROR 1235(42000) at line 3367: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
Как уже упоминалось выше:
mysqldump --no-create-info
Экспортирует данные, но также экспортирует операторы создания триггера. Если вы похожи на меня, вы выводите структуру базы данных (которая также включает триггеры) с помощью одной команды, а затем с помощью указанной выше команды для получения данных вы также должны использовать '--skip-triggers'.
Ответы:
Также вы можете использовать:
--skip-triggers
: если вы используете триггеры--no-create-db
: если вы используете--databases ...
опцию--compact
: если вы хотите избавиться от лишних комментариевисточник
mysqldump -u USERNAME -h HOST --no-create-info --skip-triggers YOURDATABASENAME YOURTABLENAME --where='id=12345678'
Access denied for user ... to database '...' when doing LOCK TABLES
, используйте--single-transaction
--where
. Например,--where="id=2"
Это должно работать:
ПРИМЕЧАНИЕ: между
-p
& нет места[pass]
источник
--no-create-db
избыточно при использовании--no-create-info
-p
в порядкеps -ef
)-p
опцияmysqldump
предложит ввести пароль.Вы найдете ниже объяснение
источник
Если вам нужны запросы INSERT, используйте следующее:
mysqldump --skip-triggers --compact --no-create-info
источник
--compact
что избавляется от лишних комментариев заявленияРекомендую использовать следующий фрагмент. Прекрасно работает даже с огромными таблицами (в противном случае вы откроете дамп в редакторе и удалите ненужные вещи, верно?;)
Требуется хотя бы mysql 5.x , но кто сейчас запускает старые вещи .. :)
источник
Просто сбросьте данные в текстовом формате с разделителями .
источник
Попробуйте сделать дамп в файл с разделителями.
источник
При попытке экспортировать данные, используя принятый ответ, я получил ошибку:
Как уже упоминалось выше:
Экспортирует данные, но также экспортирует операторы создания триггера. Если вы похожи на меня, вы выводите структуру базы данных (которая также включает триггеры) с помощью одной команды, а затем с помощью указанной выше команды для получения данных вы также должны использовать '--skip-triggers'.
Так что если вы хотите просто данные:
источник