Intereting Posts
Добавить префикс в auto-increment в mysql db Опубликовать на стене страницы Facebook в виде страницы Как заменить один цвет на другой в png 24 альфа-прозрачном изображении с помощью GD подсчитывая количество выполняемых сценариев jquery ajax онлайн-чат поддержки PHP LDAP Получить информацию о пользователе члена, который является членом группы Angularjs: сторона сервера (php) и клиентская сторона привязки данных после события Сортировка объекта в PHP phpMyAdmin бесконечный цикл при попытке использовать phpMyAdmin из VistaPanel на ByetHost Как выполнить метод в классе из командной строки Foreach с многомерным массивом – Laravel Blade templating Chart.js – Получение данных из базы данных с использованием mysql и php Получить весь простой продукт из настраиваемого продукта в представлении продукта Magento jQuery $ .ajax запрос dataType json не будет извлекать данные из скрипта PHP Как вы скрываете URL-адрес файла .flv в flash-плеере?

Какой был бы лучший способ резервного копирования и восстановления дампов mysql с помощью только php?

Я знаю, как вы это делаете с консоли, и я знаю, что вы можете выполнять консольные команды с php, но будет ли способ рекурсивно выгрузить базу данных в файл, а затем восстановить ее из этого файла позже, просто используя php? Я хочу, чтобы он работал на windows и nix-серверах.

Я предполагаю, что ему нужно будет прокручивать таблицы и строки, но как бы получить их список? Или это можно сделать? Похоже, что если бы db был хорошего размера, это потребовало бы огромного объема памяти. Мысли?

mysql_query("SELECT * INTO OUTFILE 'sql/backup.sql' FROM my_table"); mysql_query("LOAD DATA INFILE 'sql/backup.sql' INTO TABLE my_table"); 

Вы можете использовать функцию exec() для вызова mysqldump. Это приведет к выводу вывода mysqldump (экспорта базы данных) обратно в ваш PHP-скрипт, и вы можете справиться с этим там, тем не менее, необходимо. Это можно использовать для экспорта отдельной таблицы или всей базы данных. Инструмент может быть установлен на клиентской машине, или скрипт PHP может быть запущен на сервере MySQL.

 /path/to/mysqldump --host=[svr] --user=[user] --password=[passwd] [db] 

Убедитесь, что пользователь, переданный MySQL, имеет разрешения SELECT и LOCK TABLE для каждой резервной копии базы данных.

Запустите SHOW TABLES; запрос. Пройдите результаты и запустите запросы, указанные deizel для каждой таблицы.

Удачи!

Это может помочь с первичными ключами

 SHOW CREATE TABLE my_table 

Посмотрите в базу данных mysql.