Ответы:
mysqldump --no-create-info ...
Также вы можете использовать:
--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"
Это должно работать:
# 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
ПРИМЕЧАНИЕ: между -p
& нет места[pass]
--no-create-db
избыточно при использовании--no-create-info
-p
в порядке
ps -ef
)
-p
опция mysqldump
предложит ввести пароль.
>> man -k mysqldump [enter in the terminal]
Вы найдете ниже объяснение
--no-create-info, -t
Не пишите операторы CREATE TABLE, которые воссоздают каждую выведенную таблицу. Примечание. Этот параметр не исключает операторов, создающих группы файлов журналов или табличные пространства из вывода mysqldump; однако для этой цели вы можете использовать опцию --no-tablespaces.
--no-data, -d
Не записывайте какую-либо информацию о строках таблицы (то есть не создавайте дамп содержимого таблицы). Это полезно, если вы хотите вывести только таблицу CREATE TABLE для таблицы (например, создать пустую копию таблицы, загрузив файл дампа).
# To export to file (data only)
mysqldump -t -u [user] -p[pass] -t mydb > mydb_data.sql
# To export to file (structure only)
mysqldump -d -u [user] -p[pass] -d mydb > mydb_structure.sql
Рекомендую использовать следующий фрагмент. Прекрасно работает даже с огромными таблицами (в противном случае вы откроете дамп в редакторе и удалите ненужные вещи, верно?;)
mysqldump --no-create-info --skip-triggers --extended-insert --lock-tables --quick DB TABLE > dump.sql
Требуется хотя бы mysql 5.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'.
Так что если вы хотите просто данные:
mysqldump --no-create-info --skip-triggers