2012-03-30 74 views
5

使用phpMyAdmin可以自动导出单个数据库吗?如何使用phpMyAdmin自动导出mySQL数据库

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

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

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

+1

我没有检查它在phpMyAdmin,但也许更好的解决方案将使cron工作。 – Dudeist 2012-03-30 15:36:13

+0

我正在使用cron来调用有问题的外部脚本,这就是为什么我想直接从phpMyAdmin创建脚本的原因。 – jamesTheProgrammer 2012-03-30 16:04:38

+0

您可以将MySQLBackupFTP(http://mysqlbackupftp.com/)连接到您的phpMyAdmin并设置一个时间表来自动备份您的数据库。 – 2017-01-12 08:56:42

回答

4

最好的选择是制作一个脚本,执行数据库导出mysqldump并在此之后执行该脚本的cronjob。

+0

因为我使用的是Windows 2003服务器,所以没有cron脚本可用。自动化。我发现了cron的AT版本,在那里我可以使用mysqldump,就像你在命令行中说的那样。 – jamesTheProgrammer 2012-04-17 18:20:03

+3

Windows中的Cronjobs被称为Scheduled Taks。 – edelgado 2012-04-23 12:10:18

+0

这很适用,直到您与托管公司的数据库服务器的IP为localhost或某些[RFC 1918](http://www.faqs.org/rfcs/rfc1918.html)地址并且您唯一的其他访问是FTP。然后,您只能访问我们的数据库是phpMyAdmin或通过本地PHP脚本,因为您无法从Internet访问数据库。 – 2012-06-14 09:19:53

2

如果您不能直接连接到使用mysqldump数据库,你可以用这个shell脚本(需要卷曲):

#!/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进行过测试,并且可能无法在其他(主要)版本中使用。

+0

看起来V4在表单中有令牌,所以我不认为这会起作用......虽然没有测试过。 – Nick 2014-12-11 10:01:56

+0

有关这方面的任何更新?£ – 2017-06-29 08:47:24

0

使用该脚本: https://github.com/qubitstream/phpmyadmin_sql_backup

phpmyadmin_sql_backup.py

一个Python 3脚本通过 phpMyAdmin的网页界面自动SQL备份的下载。

当您的虚拟主机提供商不授予您访问控制台(用于mysqldump)但希望自动执行数据库备份(无需手动使用浏览器)时,此功能非常有用。

它与Python 3.4+在Linux和Windows 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 

其他可用的选项。

相关问题