是否可以使用phpMyAdmin自动导出单个数据库?
当我尝试从外部脚本(如php)创建.sql文件时,生成的.sql文件看起来很干净,但导入时会导致应用程序出现问题。
当我使用phpMyAdmin通过使用Export创建类似的.sql文件时,生成的.sql文件导入而不会对我的应用程序造成任何问题。
应用程序是moodle 2.2,MySQL版本是5.5,phpMyAdmin版本是3.4.10。
答案 0 :(得分:4)
最好的选择是创建一个脚本,用mysqldump执行数据库导出,然后执行该脚本的cronjob。
答案 1 :(得分:2)
如果无法使用mysqldump直接连接数据库,则可以使用此shell脚本(需要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"
然后把它放在你的crontab中:
22 3 * * * someuser /path/to/script.sh > /path/to/backup/db.sql
每晚3:22获得备份。
仅使用phpMyAdmin 3.4.10.1进行测试,可能无法在其他(主要)版本中使用。
答案 2 :(得分:0)
使用此脚本: https://github.com/qubitstream/phpmyadmin_sql_backup
phpmyadmin_sql_backup.py
一个Python 3脚本,用于通过自动下载SQL备份 phpMyAdmin网页界面。
当您的网络托管服务提供商未授予您时,此功能非常有用 访问控制台(对于mysqldump),但你想自动化 备份数据库(无需手动使用浏览器)。
它已经在Linux和Windows上使用Python 3.4+进行了测试 phpMyAdmin 4.3.6,4.5.4.1和4.7.0-dev
注意:phpMyAdmin的web界面将来可能会发生变化 打破这个脚本。请提交错误报告(包括您的版本) phpMyAdmin)如果你遇到这个问题。
示例:
phpmyadmin_sql_backup.py "http://www.example.com/phpmyadmin/" your_user your_password
其他可用选项。