MySQL整库导出:一步搞定(mysql整库导出)
MySQL数据库的导出是多个数据库中的有效维护方法之一,通常用于将表,字段,存储过程等导出到外部文件,以便以后使用。MySQL中提供了两种方式进行数据库导出:一种是导出整个数据库,一种是按部分导出部分表。今天就介绍下MySQL整库导出的方式及实现过程。
MySQL整库导出的方法有两种:使用command窗口导出或在PHP中使用mysqldump导出。
一、使用command窗口导出:
1.进入命令行窗口,输入mysql –h[mysql数据库服务器地址] –u[MySQL登陆用户] –p[MySQL登陆密码]
2.将要导出的数据库选择为当前数据库:use databaseName;
3.输入:mysqldump•–databases databaseName > databaseName.sql
4.执行完毕,导出文件即可生成。
二、使用PHP编写程序导出整库:
1.新建一个.php文件,命名为mysqlExport.php,并写入以下代码:
$databaseName = ‘databaseName’;
$mysqli = new mysqli (‘localhost’,’user’,’password’,’databaseName’);
$exportPath = ‘D:/exportDataPath.sql’;
$mysqli -> query (‘SET NAMES UTF-8’); //设置编码;
$mysqli -> select_db ($databaseName);
$tab_res = $mysqli -> query (‘show tables’);
while ($row = $tab_res -> fetch_row ()) {
$tableName = $row [0];
$exp_name = $databaseName . ‘_’ . $tableName . ‘.sql’;
$msg .= sendsql ($exportPath . $exp_name, $databaseName, $tableName);
}
file_put_contents ($exportPath, $msg);
function sendsql ($filename, $databaseName, $tableName) //执行导出;
{
$sqlDump = “SET FOREIGN_KEY_CHECKS=0;\r\n”;
$sqlDump .= “– —————————-\r\n”;
$sqlDump .= “–\r\n”;
$sqlDump .= “– Table structure for $tableName\r\n”;
$sqlDump .= “– —————————-\r\n”;
$sqlDump .= “DROP TABLE IF EXISTS $tableName;\r\n”;
$sqlDump .= “CREATE TABLE $tableName (\r\n”;
$res = mysql_query (“show create table $tableName”);
$row = mysql_fetch_array ($res);
$sqlDump .= $row [1];
$sqlDump .= “) ENGINE=MyISAM DEFAULT CHARSET=utf8;\r\n”;
$sqlDump .= “\r\n”;
$sqlDump .= “– —————————-\r\n”;
$sqlDump .= “–\r\n”;
$sqlDump .= “– Data for the table $tableName\r\n”;
$sqlDump .= “– —————————-\r\n”;
$sqlDump .= “\r\n”;
$res = mysql_query (“select * from $tableName”);
while ($row = mysql_fetch_row ($res)) {
$sqlDump .= “INSERT INTO $tableName VALUES (‘”;
$sqlDump .= implode (“‘,'”, $row);
$sqlDump .= “‘);\r\n”;
}
if (!$handle = fopen ($filename, ‘a’)) {
// 第一步:打开文件
echo “不能打开文件 $filename”;
exit;
}
if (fwrite ($handle, $sqlDump) === FALSE) {
// 第二步:写入文件
echo “不能写入到文件 $filename”;
exit;
}
echo “导出 $tableName 表到文件 $filename 完成!”;
fclose ($handle); //第三步:关闭文件
return $sqlDump;
}
?>
2.将mysqlExport.php文件放入webserver中,执行后可将整库的表结构及数据导出到指定的.sql文件中.
以上就是MySQL整库导出的方式及实现过程,相信大家都能理解。采用这种整库导出方式可以有效的维护数据库,给我们的工作带来很多便利。