Как я могу автоматизировать экспорт базы данных MySQL с помощью phpMyAdmin
Можно ли автоматизировать экспорт одной бд с помощью phpMyAdmin?
Когда я пытаюсь создать файл .sql из внешнего скрипта, например php, полученный файл .sql выглядит чистым, но при импорте вызывает проблемы в приложении.
Когда я использую phpMyAdmin для создания аналогичного файла .sql с помощью экспорта, полученный файл .sql импортируется без каких-либо проблем с моим приложением.
Приложение moodle 2.2, версия MySQL 5.5, Версия phpMyAdmin - 3.4.10.
3 answers
Лучший вариант - создать скрипт, который выполняет экспорт базы данных с помощью mysqldump, а затем выполнить задание для выполнения этого скрипта.
Если вы не можете подключиться напрямую к базе данных с помощью mysqldump, вы можете использовать этот сценарий оболочки (требуется curl):
#!/bin/sh
ADMIN_URL='https://phpmyadmin.example.com'
USERNAME='my_username'
PASSWORD='my_password'
COOKIEJAR='/tmp/my_cookiejar'
token=`curl -s -o - -d "pma_username=$USERNAME" -d "pma_password=$PASSWORD" -c "$COOKIEJAR" "$ADMIN_URL/" | grep -o -m 1 "token=.*'" | sed "s/'//"`
curl -o - -b "$COOKIEJAR" -d what=sql -d export_type=server -d sql_structure_or_data=structure_and_data -d "$token" "$ADMIN_URL/export.php"
rm "$COOKIEJAR"
Затем поместите его в свой кронтаб:
22 3 * * * someuser /path/to/script.sh > /path/to/backup/db.sql
Чтобы получать резервную копию в 3:22 каждую ночь.
Тестировался только с phpMyAdmin 3.4.10.1 и может не работать в других (основных) версиях.
Используйте этот скрипт: https://github.com/qubitstream/phpmyadmin_sql_backup
Phpmyadmin_sql_backup.py
Скрипт на Python 3 для автоматизации загрузки резервных копий SQL через веб-интерфейс phpMyAdmin.
Это полезно, когда ваш хостинг-провайдер не предоставляет вам доступ к консоли (для mysqldump), но вы хотите автоматизировать резервное копирование своей базы данных (без необходимости вручную использовать браузер).
Он был протестирован с Python 3.4+ в Linux и Windows и phpMyAdmin 4.3.6, 4.5.4.1 и 4.7.0-dev
Примечание: Веб-интерфейс phpMyAdmin может измениться в будущем и нарушить работу этого скрипта. Пожалуйста, отправьте сообщение об ошибке (включая вашу версию phpMyAdmin), если вы столкнулись с этой проблемой.
Пример:
phpmyadmin_sql_backup.py "http://www.example.com/phpmyadmin/" your_user your_password
Доступны другие опции.