zoukankan      html  css  js  c++  java
  • MySQL基础2

    1、mysql提示符可以显示什么?

    在my.cnf里面配置prompt参数的值后:prompt="\u@\h [\d]"

    可以通过man mysql查询帮助,查看prompt的帮助信息;

    2、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数据库文件夹

    3、慢查询日志
    slow_query_log参数,指定输出文件名称和位置
    long_query_time参数,配置query timeout,单位:s秒,默认值:10s
    分析工具:mysqldumpslow,pt-query-digest

    4、查看sql语句调用统计信息(5.7版本),查看调用次数、并发量等等
    select * from sys.statement_analysis;

    5、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闪回数据。

    6、审计功能:记录每一次对数据库的操作
    社区版实现的方法:通过general_log参数,可以把每次对数据库的操作记录到文件中
    5.7版本还可以对query_rewrite_plugin二次开发,拦截到sql to 到elk (有些大型互联网公司就是采用的这种方式)

    7、二进制日志维护
    删除二进制日志,根据文件名删除:purge binary logs to '日志文件名称'; #会把指定日志文件名称序号前的binlog文件都删除掉
    还可以利用rm命令,从文件编号小的开始删除
    删除前先备份

    8、MySQL裁剪
    主要用于物联网,节约空间和成本
    裁剪base_dir文件夹下面的东西
    正常的我们只需要保留bin/mysqld这个文件就行了,其它的都可以删除;然后还可以用 strip mysqld对mysqld文件进一步压缩其大小
    如果需要用的mysql命令,还可以把bin/mysql文件保留;其它命令类似,用到哪个也可以保留哪个。
    裁剪后记得ldd mysqld,验证下我们留下来的文件的依赖关系是否完成,如果没问题就可以启动了。
    优点:节约空间,msyql5.7裁剪后从2.7G左右减小到30M左右;缺点:出错误后不好排除。

  • 相关阅读:
    web----WSGI
    ovs 实现vlan隔离(一)
    ovs流表机制(四)用vxlan实现不同网段通信
    ovs流表机制(四)用vxlan实现同网段通信
    ovs 流表机制(三)--group表
    ovs 流表机制(二)-OVS流表table之间的跳转
    ovs 流表机制(一)
    euler ironic镜像驱动问题(一)镜像启动失败报dracut initqueue timeout
    ovs流表
    arm64 uefi启动
  • 原文地址:https://www.cnblogs.com/shlc/p/10208588.html
Copyright © 2011-2022 走看看