数据导出\导入
mysqldump
-t 只导出数据 ,不导结构 , --skip-lock-tables 不锁表
mysqldump -h127.0.0.1 -P3306 -uuser -ppwd -t --skip-lock-tables test tab1>tab1.sql
-d 只备份结构 --skip-add-drop-table 禁用drop tabe(默认会有drop table)
mysqldump -hlocalhost -P3306 -uuser -ppwd -d --skip-add-drop-table test tab1> test.tab1.sql
整库备份
mysqldump -hlocalhost -P3306 -uuser -ppwd -B test > test.sql
重要参数
1
2
3
4
5
6
7
8
9
10
11-B:指定多个库,在备份文件中增加建库语句和use语句
--compact:去掉备份文件中的注释,适合调试,生产场景不用
-A:备份所有库
-F:刷新binlog日志
--master-data:在备份文件中增加binlog日志文件名及对应的位置点
-x --lock-all-tables:锁表
-l:只读锁表
-d:只备份表结构
-t:只备份数据
--single-transaction:适合innodb事务数据库的备份
InnoDB表在备份时,通常启用选项--single-transaction来保证备份的一致性,原理是设定本次会话的隔离级别为Repeatable read,来保证本次会话(也就是dump)时,不会看到其它会话已经提交了的数据。导入备份数据
命令行导入
mysql -hlocalhost -P3306 -uuser -ppwd test < test.test.sql
查询
- 命令行查询
mysql -hlocalhost -P3306 -uroot -p123456 -e "use test; set names utf8; select * from img_library limit 10;" > tmp.xls