mysqldump
【--opt默认选项】
-A 全库 -B指定库 -E计划任务 -R存储过程函数
mysqldump -uroot -proot -E -R -A 导出的是基于-A的存储过程、函数和计划任务
mysqldump -uroot -proot -E -R -B 导出的是基于-B的存储过程、函数和计划任务
--default-character-set=utf8 默认字符集utf8
--lock-all-tables 提交请求锁定所有数据库中的所有表,以保证数据的一致性,会造成事务的隐式提交
--master-data 该选项将binlog的位置和文件名追加到输出文件中
--dump-slave 该选项将主的binlog位置和文件名追加到导出数据的文件中
--flush-logs 开始导出之前刷新日志
--ignore-table=mysql.user --ignore-table=mysql.db
--no-create-db, -n 只导出数据,而不添加CREATE DATABASE 语句。
--no-create-info, -t 只导出数据,而不添加CREATE TABLE 语句。
--no-data, -d 不导出任何数据,只导出数据库表结构。
--single-transaction 该选项不会阻塞任何应用程序且能保证导出时数据库的一致性状态。
--include-master-host-port 在--dump-slave语句中增加‘MASTER_HOST=<host>,MASTER_PORT=<port>‘
导出表结构:
mysqldump -E -R -B db_xx --no-data --skip-add-drop-table -u user_xx -p pwd_xx >xxx.sql
从上导数据:
mysqldump -E -R -B db_xx --dump-slave --single-transaction --skip-add-drop-table -u user_xx -p pwd_xx >xxx.sql
主上导数据:
mysqldump -E -R -B db_xx --master-data --single-transaction --skip-add-drop-table -u user_xx -p pwd_xx >xxx.sql
mysqldump -E -R -B insurance --no-data --skip-add-drop-table -u root -p >insurance20160331.sql
mysqldumpslow
* -s, 是表示按照何种方式排序
c 记录次数 t 时间 l 查询时间 r 回的记录数
ac、at、al、ar,表示相应的倒序;
* -t, 是top n的意思,即为返回前面多少条的数据;
* -g, 后边可以写一个正则匹配模式,大小写不敏感的;
mysqldumpslow -s c -t 10 /database/mysql/slow-log
mysqlbinlog
mysqlbinlog -u user_xx -p pwd_xx -P3306 -hlocalhost
-d 数据库名 -R 读取二进制日志
--start-datetime=datetime 指定开始时间,--start-datetime=‘2010-09-04 9:59:59‘
--stop-datetime=datetime 指定结束时间
--start-position=数字 指定开始位置
--stop-position=数字 指定结束位置 (基于位置的更加精确)
--no-default 不使用默认值
mysqlbinlog --start-position=134 --stop-position=330 mysqlbin-log.000001 >test1.txt
mysqlbinlog --start-datetime=‘2016-03-10 21:00:00‘
mysqlbinlog -uroot -p -hlocalhost -vv --start-datetime=‘2016-03-10 21:00:00‘ mysql-bin.000098|more