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整库导出的方式及实现过程,相信大家都能理解。采用这种整库导出方式可以有效的维护数据库,给我们的工作带来很多便利。


数据运维技术 » MySQL整库导出:一步搞定(mysql整库导出)