mysql 数据库导入导出

一: 命令行方式

导出数据库到文件

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;

2. mysql  命令

   step1: 切换到Mysql 的 bin 目录

   step2: mysql -u root -p  数据库名 > 文件名.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 执行就可以了。



导入文件大小限制问题的解决:
默认情况下:mysql 对导入文件大小有限制的,最大为2M,所以当文件很大时候,
直接无法导入,下面就这个问题的解决列举如下:

1.在php.ini中修改相关参数:
影响mysql导入文件大小的参数有三个:
memory_limit=128M,
upload_max_filesize=2M,
post_max_size=8M
修改upload_max_filesize=200 M   这里修改满足你需要的大小,
可以同时修改其他两项memory_limit=250M   post_max_size=200M
这样就可以导入200M以下的.sql文件了


带语言参数导出

   mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt databse > d4.sql


带语言参数导入

mysql -uroot -ppasspass --default-character-set=utf8 databaseName <d:bakcup.sql

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oscar999

送以玫瑰,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值