mysql常用命令摘录

连接数据库

mysql -uroot -P3306 -S XX.sock

关闭数据库

mysqladmin shutdown -P3306 -S XX.sock

启动数据库

chown -R mysql:mysql ./ && nohup ./bin/mysqld_safe --defaults-file=./etc/my.cnf --user=mysql > mysql.log &

解析binlog命令

1、查看binlog中End出现的前后20行

mysqlbinlog -vv --base64-output='decode-rows'#{binlogid} | grep End -A20 -B20

2、查看binlog中指定gtid出现的前后20行

mysqlbinlog -vv --base64-output='decode-rows'#{binlogid} | grep 'XXXXXXXXXXXXX-gtid-XXXXXX' -A20 -B20

3、查看binlog中指定gtid_set中特定gtid出现的前后20行

mysqlbinlog -vv --base64-output='decode-rows'--include-gtids='XXXXXXXXXXXXXXXXXX:gtidA-gtidB'#{binlogid} | grep 'XXXXXXXXXXXXXXXXXX:gtid1' -A20 -B20

4、输出binlog中指定指定结束点出现的sql

mysqlbinlog -vv#{binlogid} --stop-position=XXXX > xxxxxx.sql (带这个--base64-output='decode-rows'可能不行)

清除binlgo日志命令

purge binary logs to “xxxxxxx”  xxxxxxx为待清除的最后一个binlog之前的那个

主从库在没有开启原生复制清空数据后,需要执行下reset master然后再建立复制

查看binlog_checksum 

show global variables like 'binlog_checksum'

set@master_binlog_checksum = @@global.binlog_checksum

获取server_uuid变量值

select @@global.server_uuid

查看变量explicit_defaults_for_timestamp

show variables like '%explicit_defaults_for_timestamp%';

mysql5.6中默认是off(插入null值会默认设置为当前系统时间);

mysql5.7中默认是on(插入null值还是为null)

explicit_defaults_for_timestamp不统一的情况下,timestamp类型数据设置default属性为null的情况在进行复制时可能会出现数据不一致的情况

查看变量sql_mode

select @@sql_mode;

统一设置sql_mode= NO_ENGINE_SUBSTITUTION的情况下,mysql5.6回放至mysql5.6,mysql5.6回放至mysql5.7,mysql5.7回放至mysql5.7,mysql5.7回放至mysql5.6都能够正常回放;sql_mode中含有NO_ZERO_DATE、NO_ZERO_IN_DATE等值,在执行时间类型数据为0时(建议还是向严格模式转换)

慢日志查询

./mysqldumpslow -s t -t 1 /usr/local/mysql/data/cloudlu-slow.log

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容