一步步指导:导出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\";\nSET 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数据库的