2012-03-30 72 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 

其他可用的選項。

相關問題