 |
ขอตัวอย่างการ export database เป็นไฟล์ .sql หน่อยครับผม |
|
 |
|
|
 |
 |
|
ถ้าเรา Export จาก Database เป็นไฟล์ .sql เลยไม่ได้หราครับ

|
ประวัติการแก้ไข 2014-07-19 18:40:44
 |
 |
 |
 |
Date :
2014-07-19 18:37:25 |
By :
maxvit |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้ครับ แต่ผมต้องการสร้าปุ่มไว้ที่ Backend พอคลิกก็จะให้มัน Dump ฐานข้อมูลโหลดมาเก็บไว้ในเครื่องครับผม พอดีมีเว็บในการดูแลหลายเว็บ
*** ตอนนี้ลองเล่นอยู่เหมือนๆๆจะทำได้แล้วครับ
Code (PHP)
<?php
//ENTER THE RELEVANT INFO BELOW
$mysqlDatabaseName ='DatabaseName';
$mysqlUserName ='UserName';
$mysqlPassword ='Password';
$mysqlHostName ='localhost';
$mysqlExportPath ='domains/yourweb.com/public_html/backup.sql';
//DONT EDIT BELOW THIS LINE
//Export the database and output the status to the page
$command='mysqldump --opt -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' > ~/' .$mysqlExportPath;
exec($command,$output=array(),$worked);
switch($worked){
case 0:
echo 'Database <b>' .$mysqlDatabaseName .'</b> successfully exported to <b>~/' .$mysqlExportPath .'</b>';
break;
case 1:
echo 'There was a warning during the export of <b>' .$mysqlDatabaseName .'</b> to <b>~/' .$mysqlExportPath .'</b>';
break;
case 2:
echo 'There was an error during export. Please check your values:<br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN </b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr></table>';
break;
}
?>
ตรงส่วน $mysqlExportPath ='domains/yourweb.com/public_html/backup.sql'; จะทำยังไงกำหนดให้เส้นทางมันสั้นแล้วง่ายกว่านี้ไหมครับ
|
ประวัติการแก้ไข 2014-07-19 18:49:36
 |
 |
 |
 |
Date :
2014-07-19 18:42:26 |
By :
pengbuts |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองรัน Code นี้ดูครับ จะสร้าง folder DB_Backup ขึ้นมาเฉพาะ ครับ
Code (PHP)
<?php
include("config.php"); //ติดต่อฐานข้อมูล
function backup_db(){
/* Store All Table name in an Array */
$allTables = array();
$result = mysql_query('SHOW TABLES');
while($row = mysql_fetch_row($result)){
$allTables[] = $row[0];
}
foreach($allTables as $table){
$result = mysql_query('SELECT * FROM '.$table);
$num_fields = mysql_num_fields($result);
$return.= 'DROP TABLE IF EXISTS '.$table.';';
$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
$return.= "\n\n".$row2[1].";\n\n";
for ($i = 0; $i < $num_fields; $i++) {
while($row = mysql_fetch_row($result)){
$return.= 'INSERT INTO '.$table.' VALUES(';
for($j=0; $j<$num_fields; $j++){
$row[$j] = addslashes($row[$j]);
$row[$j] = str_replace("\n","\\n",$row[$j]);
if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; }
else { $return.= '""'; }
if ($j<($num_fields-1)) { $return.= ','; }
}
$return.= ");\n";
}
}
$return.="\n\n";
}
// Create Backup Folder
$folder = 'DB_Backup/';
if (!is_dir($folder))
mkdir($folder, 0777, true);
chmod($folder, 0777);
$date = date('m-d-Y-H-i-s', time());
$filename = $folder."db-backup-".$date;
$handle = fopen($filename.'.sql','w+');
fwrite($handle,$return);
fclose($handle);
}
// Call the function
backup_db();
print "<center>BackUp OK</center>";
?>
|
ประวัติการแก้ไข 2014-07-19 19:33:42
 |
 |
 |
 |
Date :
2014-07-19 19:21:04 |
By :
maxvit |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากครับๆ ใช้ได้เลยครับ แต่ติดอยู่ที่ข้อมูลข้างในมีภาษาไทยด้วย แล้วมันกลายเป็น ?????????????? จะต้องเพิ่มอะไรไปอีกครับ
|
 |
 |
 |
 |
Date :
2014-07-19 19:35:57 |
By :
pengbuts |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
SET config.php เป็น utf8
Code (PHP)
<?php
$DBServer = "localhost";
$DBName = "db";
$DBUsername = "root";
$DBPassword = "1234";
$conn = mysql_connect($DBServer, $DBUsername , $DBPassword ) or die("Could not connect to dbserver");
mysql_select_db($DBName,$conn);
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
?>
|
ประวัติการแก้ไข 2014-07-19 19:49:15
 |
 |
 |
 |
Date :
2014-07-19 19:40:27 |
By :
maxvit |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองหลายทางแล้วครับผมก็ยังไม่ได้ ไงก็ขอบคุณครับ เดี๋ยวจะลองเล่นซักพักก่อน เผื่อได้
|
 |
 |
 |
 |
Date :
2014-07-19 20:10:22 |
By :
pengbuts |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
โอเครครับจะลองดูครับ ขอบคุณอีกครั้งครับ
|
 |
 |
 |
 |
Date :
2014-07-19 21:22:32 |
By :
pengbuts |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
MySQL GUI Tools
ตั้ง Task Scheduling ไว้ครับ
จะได้แก้ปัญหาเรื่อง
Data=Null Export มาเป็น ''
และ Date Format เพี้ยน
|
 |
 |
 |
 |
Date :
2014-07-21 12:47:27 |
By :
fossil31 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|