一、mysql提示符能够显示什么?mysql
在my.cnf里面配置prompt参数的值后:prompt="\\u@\\h [\\d]"sql
能够经过man mysql查询帮助,查看prompt的帮助信息;
二、mysql data目录文件说明数据库
auto.cnf -------------------------------》server-uuid
error.log -------------------------------》启动、错误日志
general.log ---------------------------》经过log_error参数定义
ib_buffer_pool -----------------------》经过innodb_buffer_pool_filename参数定义
ibdata1 --------------------------------》经过innodb_data_file_path参数定义
ib_logfile0 ----------------------------》 redo group log
ib_logfile1 ----------------------------》 redo group log
ib_logfile2 ----------------------------》 redo group log
ibtmp1 --------------------------------》经过innodb_temp_data_file_path参数定义
localhost.pid ------------------------》mysql服务进程号
mysql ---------------------------------》mysql数据库文件夹
performance_schema ------------》performance_schema数据库文件夹
slow.log ------------------------------》慢查询日志文件,经过slow_query_log_file参数定义
sys ------------------------------------》sys数据库文件夹
三、慢查询日志
slow_query_log参数,指定输出文件名称和位置
long_query_time参数,配置query timeout,单位:s秒,默认值:10s
分析工具:mysqldumpslow,pt-query-digest
四、查看sql语句调用统计信息(5.7版本),查看调用次数、并发量等等
select * from sys.statement_analysis;
五、binlog(二进制日志)
show binary logs; #列出当前的日志文件及大小
show master status; #显示mysql当前的日志及状态【须要super,replication client权限】
show binlog events in '日志文件名称 [mysql-bin.000023]' #mysql二进制日志是以'事件'为单位存储到日志中,一个insert,update,...有多个事件组成。
expire-logs-days; 参数配置过时时间
通常binlog要保存多久?
看干什么用,若是用于从库同步,同步完就能够删除了。
建议:主从库全开;过时时间:根据磁盘容量,若是一天产生1-2G,能够保留7天;若是一天一备,保留2天。
binlog的查看,由于binlog日志对DML语句会加密,如何查看?
mysqlbinlog -v -v 日志文件名称;
mysqlbinlog -v --base64-output=decode-rows 日志文件名称;
insert,update,delete操做后闪回数据如何操做?
经过binlog,由于insert,update,delete操做时会把原始数据也输出到binlog中,因此能够利用binlog闪回数据。
六、审计功能:记录每一次对数据库的操做
社区版实现的方法:经过general_log参数,能够把每次对数据库的操做记录到文件中
5.7版本还能够对query_rewrite_plugin二次开发,拦截到sql to 到elk (有些大型互联网公司就是采用的这种方式)
七、二进制日志维护
删除二进制日志,根据文件名删除:purge binary logs to '日志文件名称'; #会把指定日志文件名称序号前的binlog文件都删除掉
还能够利用rm命令,从文件编号小的开始删除
删除前先备份
八、MySQL裁剪
主要用于物联网,节约空间和成本
裁剪base_dir文件夹下面的东西
正常的咱们只须要保留bin/mysqld这个文件就好了,其它的均可以删除;而后还能够用 strip mysqld对mysqld文件进一步压缩其大小
若是须要用的mysql命令,还能够把bin/mysql文件保留;其它命令相似,用到哪一个也能够保留哪一个。
裁剪后记得ldd mysqld,验证下咱们留下来的文件的依赖关系是否完成,若是没问题就能够启动了。
优势:节约空间,msyql5.7裁剪后从2.7G左右减少到30M左右;缺点:出错误后很差排除。并发