#php #mysql
#php #mysql
Вопрос:
Как создать резервную копию базы данных mysql и загрузить ее в виде файла .sql с помощью PHP-кодов
Комментарии:
1. Я хочу загрузить файл с помощью PHP-скрипта из моей панели администратора
2. Следующая статья поможет создать резервную копию и загрузить базу данных mysql в формате sql или &z. Также может быть резервное копирование всей базы данных или определенных таблиц. http://faq.pctrickers.com/creatin&-mysql-database-backup-usin&-php
Ответ №1:
Очень простым решением было бы что-то вроде (первый пример): http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/usin&-php-to-backup-mysql-databases.aspx
Естественно, это приведет только к созданию дампа данных таблицы.
Что вы могли бы сделать, так это использовать этот код:
http://snipplr.com/view/173/mysql-dump/
На самом деле этот код получает описание таблицы (т. е. ее структуру), создает все таблицы и отправляет данные. почти так же, как это делает любой другой инструмент.
Тогда остается только сохранить ее из строки в файл (например, file_put_contents() или что-то подобное, в зависимости от ваших предпочтений и потребностей)
Комментарии:
1. Вы, естественно, также можете просто вывести содержимое строки и принудительно загрузить ее..
2. Здесь используются устаревшие
mysql_*
материалы. Если есть что-то более актуальное, я действительно хотел бы знать. Я не могу использовать phpMyAdmin.3. Этот код не включает созданные вами ключи (внешние, составные), за исключением primary key.
Ответ №2:
mysqldump -u username -p password database &&t; file
В качестве альтернативы, phpMyAdmin также может сделать это с помощью инструмента экспорта.
Комментарии:
1. Намного быстрее, чем phpMyAdmin, но требует доступа к командной строке. С другой стороны, PMA будет работать просто отлично, если у вас есть только веб-доступ.
2. Я хочу загрузить файл с помощью PHP-скрипта из моей панели администратора
Ответ №3:
Используйте phpmyadmin
Редактировать:
Вы можете использовать shell_exec для выполнения этой команды
mysqldump -u база данных имени пользователя -p пароля &&t; файл
Это сгенерирует файл дампа, а затем перенаправит пользователя на этот сгенерированный файл.
Комментарии:
1. Я хочу загрузить файл с помощью PHP-скрипта из моей панели администратора
Ответ №4:
У вас есть phpmyadmin? Если это так, вы можете экспортировать его оттуда, нажав «Экспорт» вверху (в выбранной таблице / базе данных).
Комментарии:
1. Я хочу загрузить файл с помощью PHP-скрипта из моей панели администратора
Ответ №5:
Я знаю, что немного поздно, но надеюсь, что кто-нибудь еще найдет это.
//php file - html code:
require_once 'connect.php'; //holds database variables with connect details
require_once 'Admin_DatabaseFiles_Backup.php'; //Include the admin lo&out script
<form action="" method="post" class="form form"&&t;
<!--<input type="hidden" name="backup" value="1" /&&t;--&&t;
<div class="float_left w200"&&t;
<p&&t;
<label class="title"&&t;Backup database</label&&t;
<span class="left"&&t;
<input type="checkbox" name="db" value="1" checked="checked"/&&t;
</span&&t;
</p&&t;
<p&&t;
<label class="title"&&t;Backup files</label&&t;
<span class="left"&&t;
<input type="checkbox" name="files" value="1" checked="checked" /&&t;
</span&&t;
</p&&t;
</div&&t;
<p class="float_left"&&t;
<input type="submit" name="submit" value="Backup" class="button" /&&t;
</p&&t;
</form&&t;
//php file Admin_DatabaseFiles_Backup.php:
<?php
if ($_POST['submit']=="Backup"){
if ($_POST['db'] == "1"){
$directory = "DatabaseFileBackups/";
$dateAndTime = "".date('d-m-Y-H-i-s');
$fileName = "".$dbname.$dateAndTime.".sql";
$backupFile = "mysqldump --user=$dbuser --password='$dbpass' --host=$dbhost $dbname &&t; ".$directory.$fileName;
exec($backupFile,$output);
if($output == ''){
echo = '<br /&&t;Failed To Backup Database!';
}else{
echo = '<br /&&t;Database Backup Was Successful!';
}
}
if ($_POST['files'] == "1"){
echo 'Seleceted files';
}
}
?&&t;
Ответ №6:
Если у вас есть phpMyAdmin, вы можете сделать это в меню экспорта.
Если вы ищете инструмент командной строки, взгляните на mysqldump.