如何使用phpMyAdmin自动导出mySQL数据库

时间:2012-03-30 15:28:02

标签: automation phpmyadmin export

是否可以使用phpMyAdmin自动导出单个数据库?

当我尝试从外部脚本(如php)创建.sql文件时,生成的.sql文件看起来很干净,但导入时会导致应用程序出现问题。

当我使用phpMyAdmin通过使用Export创建类似的.sql文件时,生成的.sql文件导入而不会对我的应用程序造成任何问题。

应用程序是moodle 2.2,MySQL版本是5.5,phpMyAdmin版本是3.4.10。

3 个答案:

答案 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

其他可用选项。