一步步指导:导出MySQL数据库(导出mysql数据库)

导出MySQL数据库是开发、数据库优化必备的一项基础技能。MySQL是一种常用的关系型数据库,被广泛应用在网站、应用程序、移动App等场景。MySQL数据库中存储着重要的业务信息。如果使用MySQL数据库,无论是备份还是恢复,都必须先导出它。本文将一步一步指导您导出MySQL数据库:

## 一、准备工作

1、确保您有MySQL服务器的root权限。

2、打开MySQL终端,例如windows环境使用cmd终端,Linux 环境使用shell终端。

## 二、建立数据库

若要成功将MySQL数据库导出,请先建立数据库:

在MySQL终端输入以下代码:

CREATE DATABASE DBname;

建立数据库DBname。

## 三、使用管理工具

推荐使用phpMyAdmin作为MySQL数据库管理工具。使用phpMyAdmin可以方便快捷的建表、修改数据。可以将数据表导出成txt、cvs等文件格式。

## 四、使用命令行工具

每种服务器系统都准备了相应的dump工具(命令行)可以导出服务器文件,比如在Linux系统上使用 mysqldump 命令可以把数据库导出成SQL文件格式,只需输入如下命令:

//把所有表的数据库导出成一个文件:
mysqldump -u username -p DBname > dump.sql

//依次把所有表的数据库导出:
for i in $( mysql -u username -p DBname -e 'show tables' | awk '{ print $1}' | grep -v '^Tables' ); do mysqldump -u username -p DBname $i > $i.sql; done;

## 五、使用代码生成器

PHP语言也可以生成SQL文件,通过客户端提交或者程序生成SQL文件,例如:

$host = "localhost";
$user = "root";
$password = "123456";
$database = "test";

$connection = mysql_connect($host, $user, $password) or die('Error connecting to mysql');
mysql_select_db($database);
$create = "SET SQL_MODE=\"NO_AUTO_VALUE_ON_ZERO\";\n
SET time_zone = \"+00:00\";\n\n\n/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;\n/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;\n/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;\n/*!40101 SET NAMES utf8 */;\n";
$export = $create;
$export .= "\n\n-- Database: `".$database."`\n\n\n-- --------------------------------------------------------\n\n";
$tables = array();
$result = mysql_query('SHOW TABLES');
while($row = mysql_fetch_row($result)) {
$tables[] = $row[0];
}

foreach($tables as $table) {
$result = mysql_query('SELECT * FROM '.$table);

$num_fields = mysql_num_fields($result);

$export .= "\n\n-- Table structure for table `".$table."`\n\n";

$export.= 'DROP TABLE IF EXISTS `'.$table.'`;';
$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
$export.= "\n\n".$row2[1].";\n\n";

for ($i = 0; $i
while($row = mysql_fetch_row($result)) {
$export.= 'INSERT INTO `'.$table.'` VALUES(';
for($j=0; $j
$row[$j] = addslashes($row[$j]);
$row[$j] = ereg_replace("\n","\\n",$row[$j]);
if (isset($row[$j])) { $export.= '"'.$row[$j].'"' ; } else { $export.= '""'; }
if ($j
}
$export.= ");\n";
}
}
$export.="\n\n\n-- --------------------------------------------------------\n\n\n";
}

//save file
$handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');
fwrite($handle,$export);
fclose($handle);
mysql_close($connection);

通过客户端提交和程序导出,可以节省许多工作时间,并且方便快捷。

## 六、数据库恢复

MySQL数据库备份的恢复操作也很简单,只需通过命令行或phpMyAdmin直接导入SQL数据,例如:

mysql -u username -p DBname 

上面的命令可以批量导入MySQL数据库,把filename.sql文件内容导入到DBname 数据库中。

以上就是导出MySQL数据库的


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