mysql 数据库导入导出

13年前

一: 命令行方式

导出数据库到文件

1.  导出整个数据库

step1: 切换到MySQL中到bin文件夹的目录

step2: mysqldump -u root -p 数据库名 > 文件名.sql 

           输入后会让你输入进入MySQL的密码,sql文件自动生成到bin文件下

           如果不想输密码,可以使用如下命令:(-u和用户名,-p和密码之间没有空格。123456是密码)

                mysqldump -uroot -p123456 hfpet > test.sql

 

2. 导出整个数据库并设置编码(以utf8为例)

mysqldump -u root -p  -- default-character-set=utf8 数据库名 > 文件名.sql

 

导入数据文件到数据库

1. source 命令

  step1:  确保导入数据的目标数据库存在,如不存在的话, 新建一个就可以了。比如建一个test的数据库(create database test;)

  step2:  方便操作,可以将.sql文件移到MySQL的bin目录。

  step3:  切换到bin 目录

  step4:  登录MYSQL:  mysql -u root -p 。 需要输入密码

  step5:  use 目标数据库。  (as: use test;)

  step6: 进入主题了.   source  test.sql;

 

二:工具导入导出

MYSQL 官方有提供一个可视化的工具--MySQL Workbench,可以很方便的进行数据导入导出.

下载地址: --http://dev.mysql.com/downloads/workbench/5.2.html.

这个工具可以把一个database的每张table 都单独导成一份 .sql文件. 这个database,导入到一个文件夹。

看上去比较清晰。

导入也是一样,选文件夹就可以了。


三: 批处理方式导入导出

这里介绍在windows下面的状况。 如果是linux下的话, 写B shell, C shell 脚本就可以了。

在windows 写bat 脚本。


如果有多个.sql 需要导入的话, 可以把这些.sql 文件放在一个文件夹下,使用批处理命令,循环文件夹,导入各个 .sql.

贴个实例:

for /R "D:\dump201202" %%s in (*.sql) do (    echo %%s    "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe" -uroot -p123456 databaseName < %%s  )
文件命名成   .bat 。 进入cmd 执行就可以了。