Відповіді:
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-tablepaces.
--но-дані, -д
Не пишіть жодної інформації про рядки таблиці (тобто не скидайте вміст таблиці). Це корисно, якщо ви хочете скинути лише таблицю 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-тригери'.
Тож якщо ви хочете ПРОСТО даних:
mysqldump --no-create-info --skip-triggers