# 连接
shell# mysql -h$ip -P$port -u$user -p

#查看binlog文件
mysql> show binary logs;

#查看binlog内容
mysql> show binlog events in 'mysql-bin.001294';

#刷新生成新的binlog文件
mysql> flush logs;

#删除binlog
> PURGE MASTER LOGS TO 'MySQL-bin.010';  //清除MySQL-bin.010日志
> PURGE MASTER LOGS BEFORE '2008-06-22 13:00:00';   //清除2008-06-22 13:00:00前binlog日志
> PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);  //清除3天前binlog日志BEFORE,变量的date自变量可以为'YYYY-MM-DD hh:mm:ss'格式。

# 查看binglo详细信息(比如binlog为row格式的),position可以通过show binlog events确认.
shell# mysqlbinlog -vv .\data\binlog.000013 --start-position=2738 --stop-position=2973;

#全局锁
mysql> Flush tables with read lock;


mysql> show engine innodb status

mysql> show variables like 'transaction_isolation';


alter table t engine = InnoDB # 重建表
analyze table t 其实不是重建表,只是对表的索引信息做重新统计,没有修改数据,这个过程中加了 MDL 读锁;
optimize table t 等于 recreate+analyze。

#备份
mysqldump -uroot --single-transaction --master-data=2 --routines --striggers --events --set-gtid-purged=OFF --all-databases -p > /tmp/t.sql