简介:

Mysql 中提供了多种类型的日志文件,分别反映 Mysql 的不同信息,了解它们很有必要。

1、Error log ( 错误日志 )

错误日志记录了 Mysql Server 运行过程中所有较为严重的警告和错误信息,以及 Mysql Server 每次启动和关闭的详细信息。

在默认情况下,系统记录错误日志的功能是关闭的( 我所使用的 Mysql 5.6 是开启的 ),错误信息被输出到标准错误输出( Stderr )。

需要开启系统记录错误日志功能时,需要在启动时开启 -log-error 选项。错误日志默认存放在数据目录下,以 hostname.err 命令。

可以使用 --log-error=file_name 的方式或在 my.cnf 中指定其存放的位置和文件名。

为了方便维护,可以通过 flush logs 来生成新的日志文件( 要先将原有的日志文件 mv 一下 )。

2、Binary log( 二进制日志 )

二进制日志,即 binlog 。也是 Mysql Server 中最为重要的日志之一。

当我们通过 --log-bin=file_name 打开了二进制日志功能之后,Mysql 会将所有修改数据库的 query 以二进制的形式记录到日志文件中。

还包括每一条 query 所执行的时间、消耗的资源,以及相关的事务信息;所以 binlog 是事务安全的。

二进制日志跟错误日志一样,binlog 记录功能也需要 --log-bin=file_name 或 my.cnf 中指定来开启;如果没有指定 file_name ,会在数据目录下生成 mysql-bin.******* 的日志文件。

mysql-bin.index 文件的功能是记录所有 Binary log 的绝对路径,保证 Mysql 各种线程能顺利根据它找到所需要的 Binary log 文件。

binlog 相关的其它参数:

--max_binlog_size ## 设置 binlog 的最大存储上限,当日志达到该上限时,Mysql 会重新生成一个新的日志开始继续记录。
偶尔也会超出该上限,是因为在即将到达上限时,产生了一个较大的事务,为了保证事务安全,Mysql 不会将同一个事务存放到两个 binlog 中。

--binlog-do-db=db_name ## 仅仅针对该 db_name 记录 binlog ,而忽略针对其余数据库执行的 query 。

--binlog-ignore-db=db_name ## 与上一参数正好相反,忽略针对该数据库的 query ,记录其余所有数据库的 binlog 。

## 这两参数指的 db_name 不是指 query 语句更新的数据所在的数据库,而是执行 query 时所处的数据库。( 感觉很好理解,说多了容易乱 )

3、Update log( 更新日志 )

更新日志是 Mysql 在较老版本上使用的,其功能跟 binlog 类似,只不过不是以二进制格式记录,而是以简单文本格式记录内容。

从 Mysql 5.0 开始,Mysql 已经不再支持更新日志了。

4、Query log( 查询日志 )

查询日志记录 Mysql 中所有的 query ,通过 --log=file_name 来打开该功能。

由于该日志记录了所有的 query ,包括所有的 select ,体积比较大,开启后会对性能有较大的影响,所以一般不开启。

该日志一般用于跟踪某些特殊的 SQL 性能问题才会短暂开启。默认文件名为 hostname.log ,位置也在数据目录下。

5、Slow query log ( 慢查询日志 )

慢查询日志记录的就是执行时间较长的 query 咯,即 Slow query 。

通过 --log-slow-queries=file_name 开打开此功能并设置文件位置和文件名,默认文件名为 hostname-slow.log ,位置同样在数据目录下。

慢查询日志采用的是简单文本格式,可以通过各种文本编辑器查看其中的内容。

记录了语句执行的时刻,所消耗的时间、执行的用户、连接主机等相关信息。

Mysql 还提供了用于专门分析慢查询日志的工具 Mysqlslowdump ,用来帮助我们了解可能存在的性能问题。

6、Innodb redo log ( Innodb 的在线 redo 日志 )

Innodb 是一个事务安全的存储引擎,其事务安全性主要就是通过在线 redo 日志和记录在表空间中的 undo 信息来保证的。

redo 日志中记录了 Innodb 所做的所有物理变更和事务信息,通过 redo 日志和 undo 信息,Innodb 保证了在任何情况下的事务安全性。

Innodb 的 redo 日志同样默认在数据目录下,可以通过 innodb_log_group_home_dir 来更改其存放位置,通过 innodb_log_files_in_group 设置日志数量。

Android欢迎界面的创建方法的更多相关文章

  1. [Android] Android 去掉界面标题栏的方法

    Android 去掉界面标题栏的方法 这个首先要区分当前Activity 是继承了 Activity 类 ,还是 AppCompatActivity 类 情况一:创建的activity默认继承了App ...

  2. Android流行界面结构——Fragment通过ViewPager(带指示器)嵌套Fragment结构的创建方法详解

    原创文章,转载请注明出处http://www.cnblogs.com/baipengzhan/p/6287213.html 当前Android流行界面结构的一种——Fragment通过ViewPage ...

  3. Android开发——设置界面的创建

    前言: 最近忙着搞项目,难得有时间,便来整理搞项目中学习到的知识 使用之前,先介绍一下android这种的五种数据储存方式,分别为文件储存,SharePrefence,SQL,使用ContentPro ...

  4. Android开发-API指南-创建 Content Provider

    Creating a Content Provider 英文原文:http://developer.android.com/guide/topics/providers/content-provide ...

  5. Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换

    一.问题描写叙述 本系列将结合案例应用,陆续向大家介绍一些Android典型界面的设计,首先说说tab导航,导航分为一层和两层(底部区块+区域内头部导航).主要实现方案有RadioGroup+View ...

  6. Android编程示例:创建机场计划模拟器应用程序

    在本文中,我们将演示如何使用Android Studio和Java编程语言创建一个示例Android应用程序,从“临时”实现高级响应用户界面的功能.本文中讨论的应用程序将实现机场航班时刻表模拟的功能. ...

  7. Android典型界面设计(5)——使用SlidingMenu和DrawerLayout分别实现左右侧边栏

    一.问题描述 侧边栏是Android应用中十分常见的界面效果,可随主屏在左侧或右侧联动,是特别适应手机等小屏幕特性的典型界面设计方案之一,常用作应用的操作菜单,如图所示 实现侧边栏可以使用第三方组件s ...

  8. Android典型界面设计(6)——ActionBar Tab+ViewPager+Fagment实现滑动导航

    一.问题描述 在Android典型界面设计一文中,实现典型滑动导航界面,其实使用ActionBar 也可以轻松实现这一效果,甚至也可实现类似Android典型界面设计(3)的双导航效果.可见Actio ...

  9. 【转】修改Android解锁界面

    背景      先说说背景吧,这是本人从WinCE系统转到Android之后,接到的第一个任务就是修改Android原生的解锁界面,之前看了两个星期的书和网络博客,Java的也有.Android应用开 ...

随机推荐

  1. java基础知识回顾之java Thread类学习(七)--java多线程安全问题(死锁)

    死锁:是两个或者两个以上的线程被无限的阻塞,线程之间互相等待所需资源. 线程死锁产生的条件: 当两个线程相互调用Join()方法. 当两个线程使用嵌套的同步代码块的时候,一个线程占用了另一个线程的锁, ...

  2. hdu 1329 Hanoi Tower Troubles Again!

    找规律的题目an=an-1+(i+i%2)/2*2; ;}

  3. 防止注入网上查了下用SqlParameter可以,那SqlParameter处理单引号时候是自动转义了吗

    String sql = String.Format(); SqlCommand com = new SqlCommand(sql, con); 一般而言,把 一个单引号,替换成 两个单引号就可以了.

  4. OpenStack重启之后,dashboard登录不上去

    ubuntu 12.04装好openstack之后,安装成功,终端打出如下信息: Horizon is now available at http://192.168.0.2/Keystone is ...

  5. JS创建对象

    本人常用的创建对象的方式,仅供参考,欢迎吐槽,谢谢! 创建对象1.对象字面量,即使用大括号,如下: (function(){ var obj = { id: 1, desc: '创建对象测试开始啦!' ...

  6. SpringMVC学习总结(五)——SpringMVC文件上传例子

    这是用的是SpringMVC-3.1.1.commons-fileupload-1.2.2和io-2.0.1 首先是web.xml <?xml version="1.0" e ...

  7. 几种USB控制器类型:OHCI,UHCI,EHCI,xHCI

    http://smilejay.com/2012/10/usb_controller_xhci/ 遇到过一些关于USB的东西(如下),一直没搞明白什么USB1.0/1.1/2.0/3.0之类的,当然我 ...

  8. Linux 查找软件安装路径

    root@kali:~# whereis sqlmap sqlmap: /usr/bin/sqlmap /usr/share/sqlmap /usr/share/man/man1/sqlmap..gz ...

  9. Java中ArrayList和LinkedList区别

    ArrayList和LinkedList的大致区别如下:1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构. 2.对于随机访问get和set,ArrayLis ...

  10. Java开发工具MyEclipse的设置自动联想功能

    最近初学Java,正在使用MyEclipse来编写新的项目,刚开始打开MyEclipse感觉这个工具既陌生又熟悉,熟悉之处在于编辑器的几大共通之处它都具备,比如说基本的设置.编辑区.调试区都是类似的, ...