mysqldump 基本用法
导出制定数据库
mysqldump -uroot -p dbName > fileName.sql
表过滤
指定表
//只导出 table_1 table_2 表mysqldump -uroot -p dbName table_1 table_2 > fileName.sql//另一种写法mysqldump -uroot -p dbName --table table_1 table_2 > fileName.sql
过滤某些表不进行导出
mysqldump -uroot -p dbName --ignore-table=table_1 --ignore-table=table_2 --ignore-table=table_3 > fileName.sql
数据滤表
只导出表结构
使用 -d 或 --no-data 选项
//导出dbName数据库的表结构mysqldump -uroot -p -d dbName > fileName.sql//只导出dbName数据库下 table_1 的表结构mysqldump -uroot -p -d dbName table_1 > fileName.sql
只导出表数据
使用 -t 或 --no-create-info 选项
//导出dbName数据库的表数据mysqldump -uroot -p -t dbName > fileName.sql//只导出dbName数据库下 table_1 的表数据mysqldump -uroot -p -t dbName table_1 > fileName.sql
行数据过滤
使用 -w 或 --where 选项
//导出dbName数据库的表数据mysqldump -uroot -p -t dbName > fileName.sql//只导出id < 100 的行数据mysqldump -uroot -p dbName table_1 --where="id < 100" > fileName.sqlmysqldump -uroot -p dbName table_1 --w="id < 100" > fileName.sql
导出选项
删除已经存在的表
create table 前加入 drop table,使用 --add-drop-table 选项
表锁定
开始导出前锁定所有的表,进行数据变更的操作,使用 -l 或 --lock-tables 选项
//导出dbName数据库的表数据mysqldump -uroot -p -l dbName > fileName.sql
表锁定2
每个表导出前锁定,导出后解锁,使用 --add-locks 选项
忽略错误
忽略导出过程中遇到的sql错误,使用 -f 或 --force 选项
//导出dbName数据库的表数据mysqldump -uroot -p -f dbName > fileName.sql
忽略错误
开始导出前,洗掉mysql服务器中的的日志文件,使用 -F 或 --flush-logs 选项
//导出dbName数据库的表数据mysqldump -uroot -p -f dbName > fileName.sql
导入
命令行
mysql -uroot -p dbName < fileName.sql
一般通过命令行导入的sql 文件中不含create database语句,所以需要先自己创建好数据库再进行导入
msyql source
//进入mysql命令行模式mysql -uroot -p//选择并进入dbName数据库>mysql use dbName;//使用source命令导入sql文件>mysql source /path/fileName.sql
