mysqldump 基本用法

导出制定数据库

  1. mysqldump -uroot -p dbName > fileName.sql

表过滤

指定表

  1. //只导出 table_1 table_2
  2. mysqldump -uroot -p dbName table_1 table_2 > fileName.sql
  3. //另一种写法
  4. mysqldump -uroot -p dbName --table table_1 table_2 > fileName.sql

过滤某些表不进行导出

  1. mysqldump -uroot -p dbName --ignore-table=table_1 --ignore-table=table_2 --ignore-table=table_3 > fileName.sql

数据滤表

只导出表结构

使用 -d--no-data 选项

  1. //导出dbName数据库的表结构
  2. mysqldump -uroot -p -d dbName > fileName.sql
  3. //只导出dbName数据库下 table_1 的表结构
  4. mysqldump -uroot -p -d dbName table_1 > fileName.sql

只导出表数据

使用 -t--no-create-info 选项

  1. //导出dbName数据库的表数据
  2. mysqldump -uroot -p -t dbName > fileName.sql
  3. //只导出dbName数据库下 table_1 的表数据
  4. mysqldump -uroot -p -t dbName table_1 > fileName.sql

行数据过滤

使用 -w--where 选项

  1. //导出dbName数据库的表数据
  2. mysqldump -uroot -p -t dbName > fileName.sql
  3. //只导出id < 100 的行数据
  4. mysqldump -uroot -p dbName table_1 --where="id < 100" > fileName.sql
  5. mysqldump -uroot -p dbName table_1 --w="id < 100" > fileName.sql

导出选项

删除已经存在的表

create table 前加入 drop table,使用 --add-drop-table 选项

表锁定

开始导出前锁定所有的表,进行数据变更的操作,使用 -l--lock-tables 选项

  1. //导出dbName数据库的表数据
  2. mysqldump -uroot -p -l dbName > fileName.sql

表锁定2

每个表导出前锁定,导出后解锁,使用 --add-locks 选项

忽略错误

忽略导出过程中遇到的sql错误,使用 -f--force 选项

  1. //导出dbName数据库的表数据
  2. mysqldump -uroot -p -f dbName > fileName.sql

忽略错误

开始导出前,洗掉mysql服务器中的的日志文件,使用 -F--flush-logs 选项

  1. //导出dbName数据库的表数据
  2. mysqldump -uroot -p -f dbName > fileName.sql

导入

命令行

  1. mysql -uroot -p dbName < fileName.sql

一般通过命令行导入的sql 文件中不含create database语句,所以需要先自己创建好数据库再进行导入

msyql source

  1. //进入mysql命令行模式
  2. mysql -uroot -p
  3. //选择并进入dbName数据库
  4. >mysql use dbName;
  5. //使用source命令导入sql文件
  6. >mysql source /path/fileName.sql