Можно ли экспортировать базу данных MySQL, выполнив запрос?

0

Мне нужно добавить опцию для моего клиента для резервного копирования данных, поэтому я запутался, если запрос может экспортировать базу данных, а не делать это вручную из phpMyAdmin. Я использую php как серверный язык

Заранее спасибо.

Показать ещё 1 комментарий
Теги:

2 ответа

2
Лучший ответ

Попробуйте сделать это и замените [user], [password] и [data-base-name]

mysqldump -u [user] -p [password] [data-base-name] > myDBDumpFileName.sql

Читайте здесь для получения дополнительной информации. Сбрасывание данных в формате SQL с помощью mysqldump

Вы также можете выгрузить отдельные таблицы из базы данных следующим образом:

 mysqldump -u user -p password data-base table1 table2 table5 > myDBDumpFileName.sql

Затем, чтобы заставить его запускаться автоматически, я рекомендую настроить cronjob, который затем вызывает сценарий оболочки, но вы также можете настроить cronjob, вызывающий скрипт PHP. См. Здесь для получения дополнительной информации о том, как настроить cronjob

  • 0
    Я бы порекомендовал использовать такой инструмент, как этот github.com/2createStudio/shuttle-export
  • 1
    @ C4pt4inC4nn4bis Я бы не советовал использовать такой инструмент, потому что все, что вам нужно, это две вещи, такие как mysqldump и cronjob. На мой взгляд, нет смысла копать код для выполнения такой простой задачи.
Показать ещё 3 комментария
2

Я думаю, что это то, что вам нужно

<?php
   $dbhost = 'enter_host_adress';
   $dbuser = 'DB_user_name';
   $dbpass = 'password';

   $backup_file = $dbname . date("Y-m-d-H-i-s") . '.gz';
   $command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass ". "test_db | gzip > $backup_file";

   system($command);
?>
  • 0
    это работает, но загрузка файла нулевой КБ, поэтому я попытался выполнить команду в командной строке cmd, я обнаружил, что требуется пароль, когда я пишу пароль и нажимаю ввод, база данных успешно экспортирована? ты знаешь как с этим справиться?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню