單php文件實現備份MySQL導出為.sql數據庫代碼
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
最近處理一個客戶的站點,對方主機商給的權限太小,建立目錄都不能,也沒辦法上傳帝國備份網備份,后臺備份也可以,但是確實也很麻煩,有沒有快的辦法呢,其實客戶那里可以上傳單文件,這不寫一個單文件代碼,自動生成就可以了嘛,操作如下:
單文件可實現mysql數據庫備份,且生成.sql后綴;無需登錄phpMyAdmin等軟件在導出數據;
代碼如下:
<?php // 備份數據庫 $T_Host = "localhost"; //數據庫地址 $user = ""; //數據庫賬號 $password = ""; //數據庫密碼 $dbname = ""; //數據庫名稱 // 這里的賬號、密碼、名稱都是從頁面傳過來的 if (!mysql_connect($T_Host, $user, $password)) // 連接mysql數據庫 { echo '數據庫連接失敗,請核對后再試'; exit; } if (!mysql_select_db($dbname)) // 是否存在該數據庫 { echo '不存在數據庫:' . $dbname . ',請核對后再試'; exit; } mysql_query("set names 'utf8'"); $mysql = "set charset utf8;\r\n"; $q1 = mysql_query("show tables"); while ($t = mysql_fetch_array($q1)) { $table = $t[0]; $q2 = mysql_query("show create table `$table`"); $sql = mysql_fetch_array($q2); $mysql .= $sql['Create Table'] . ";\r\n"; $q3 = mysql_query("select * from `$table`"); while ($data = mysql_fetch_assoc($q3)) { $keys = array_keys($data); $keys = array_map('addslashes', $keys); $keys = join('`,`', $keys); $keys = "`" . $keys . "`"; $vals = array_values($data); $vals = array_map('addslashes', $vals); $vals = join("','", $vals); $vals = "'" . $vals . "'"; $mysql .= "insert into `$table`($keys) values($vals);\r\n"; } } //存放路徑,默認存放到該文件所在目錄 $filename = $dbname . date('Ymjgi') . ".sql"; //文件命名 $fp = fopen($filename, 'w'); //以寫入方式打開文件,文件不存在則創建 fputs($fp, $mysql); //寫入內容 fclose($fp); //關閉一個打開文件 echo "數據備份成功"; ?>
下載鏈接: mysqlbak(點我本站直接下載)
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!
賞
支付寶贊助
微信贊助
免責聲明,若由于商用引起版權糾紛,一切責任均由使用者承擔。
您必須遵守我們的協議,如您下載該資源,行為將被視為對《免責聲明》全部內容的認可->聯系老梁投訴資源 LaoLiang.Net部分資源來自互聯網收集,僅供用于學習和交流,請勿用于商業用途。如有侵權、不妥之處,請聯系站長并出示版權證明以便刪除。
敬請諒解! 侵權刪帖/違法舉報/投稿等事物聯系郵箱:service@laoliang.net
意在交流學習,歡迎贊賞評論,如有謬誤,請聯系指正;轉載請注明出處: » 單php文件實現備份MySQL導出為.sql數據庫代碼