mysql dba系统学习(5)二进制日志之一

一,二进制日志文件的作用

Mysql的二进制日志记录的是所有mysql数据库发生变更的信息,因此对数据库非常重要,二进制日志的作用我概括了一下主要包含如下几个方面:

1、可以用于数据库基于时间点的还原。

2、可以用来分析数据库发生更改的情况,比如程序的bug导致数据库数据更改等等。

3、二进制日志还可以用来重建数据库。

二,二进制日志相关的变量和参数

三,配置二进制日志

1,开启bin-log日志,在my.cnf中修改

指定了bin-log日志的路径,开启日志后需要myssqladmin flush log才生效,重启后我们发现在刚才设定的路径新增了log文件,这就是我们需要的二进制日志

log-bin=/tmp/mysql-bin

2,启动二进制文件的mysql服务

[root@test4 /]# mysqld_safe  --defaults-file=/etc/my.cnf  --log-bin=/tmp/1.0001 --log-bin-index=/tmp/logbin.index  --max-binlog-size=10M --binlog-do-db=test

3,二进制日志index文件的内容

mysql> system  cat  /tmp/logbin.index

/tmp/1.000001

/tmp/1.000002

四,管理二进制日志

1,查看是否打开二进制日志文件的功能

mysql> show  variables like "%log_bin%";

+---------------------------------+-------+

| Variable_name                   | Value |

+---------------------------------+-------+

| log_bin                         | ON    |

| log_bin_trust_function_creators | OFF   |

| log_bin_trust_routine_creators  | OFF   |

| sql_log_bin                     | ON    |

+---------------------------------+-------+

2,查看二进制文件的情况

mysql> show master logs;

+----------+-----------+

| Log_name | File_size |

+----------+-----------+

| 1.000001 |       141 |

| 1.000002 |       106 |

+----------+-----------+

2 rows in set (0.00 sec)

mysql> show binary logs;

+----------+-----------+

| Log_name | File_size |

+----------+-----------+

| 1.000001 |       141 |

| 1.000002 |       106 |

+----------+-----------+

2 rows in set (0.00 sec)

时间: 2024-11-08 17:17:37

mysql dba系统学习(5)二进制日志之一的相关文章

mysql dba系统学习(6)二进制日志之二

MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement.总结一下这三种格式日志的优缺点. MySQL Replication 复制可以是基于一条语句 (Statement Level) ,也可以是基于一条记录 (Row Level),可以在 MySQL 的配置参数中设定这个复制级别,不同复制级别的设置会影响到 Master 端的 bin-log 日志格式. 1. Row 日志中会记录成每一行数据被修

mysql dba系统学习(18)mysql主从复制的实现

mysql主从复制的实现 1.MySQL复制的实现原理 MySQL支持单向.双向复制.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入一个二进制日志文件中,并创建一个索引文件以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,日志文件会通知主服务器,从服务器在日志中读取的最后一次成功更新的位置.接着,从服务器在上次成功更新的位置处开始进入更新操作.更新完成后从服务器开始进入等待状态,等待主服务器后续的更新.需要注意

mysql dba系统学习(17)mysql的备份和恢复的完整实践

mysql的备份和恢复的完整实践 一,备份数据库之间的环境设置 1,创建数据库test1,创建表tt插入如下数据 mysql> create database test1; Query OK, 1 row affected (0.04 sec) mysql> use test1 Database changed mysql> create table tt(id int,name varchar(100),msg varchar(200)) engine=myisam; Query OK

mysql dba系统学习(7)二进制日志之三:相关系统变量

1,binlog_cache_size和max_binlog_cache_size 表示的为每个session的事物分配的缓存 一般的当插入或者修改数据的时候,不会立刻写磁盘,一般会缓存起来,缓存的大小有binlog_cache_size 来控制 mysql> show variables like"%binlog_cache%"; +-----------------------+----------------------+ | Variable_name| Value| +

mysql dba系统学习(8)查询日志文件功能

查询日志的作用是记录所有客户端发来的sql语句,也就是记录客户端的所有操作 Log参数将要过时,现在用general_log来代替 打开查询日志功能 mysql> showvariables like "%log"; +----------------+-------+ | Variable_name| Value | +----------------+-------+ | back_log| 50| | general_log| OFF| | log| OFF| | rela

mysql dba系统学习(10)innodb引擎的redo log日志的原理

在InnoDB中,bufferpool里面的dirtypage一方面可以加快数据处理速度,同时也会造成数据的不一致(RAMvsDISK).本文介绍了dirtypage是如何产生,以及InnoDB如何利用redolog如何消除dirtypage产生的数据不一致. 当事务(Transaction)需要修改某条记录(row)时,InnoDB需要将该数据所在的page从disk读到bufferpool中,事务提交后,InnoDB修改page中的记录(row).这时bufferpool中的page就已经和

mysql dba系统学习(9)slow query log慢查询日志功能

慢查询日志(不包括获取锁的时间) 1,开启慢查询日志功能 以前的版本中开启慢查询日志功能的参数是--log_slow_queries在my.cnf文件中指定,但是现在新的版本中用参数--slow_query_log和--slow_query_log_file来指定 slow_query_log=1 slow_query_log_file=/tmp/mysqlslow.log 重新启动mysql mysql> show variables like "%slow%"; +-----

mysql dba系统学习(11)管理innodb引擎的redo log日志的一个问题

我的my.cnf文件是这样的 innodb_data_home_dir = /usr/local/mysql/var innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /usr/local/mysql/var innodb_buffer_pool_size = 16M innodb_additional_mem_pool_size = 2M innodb_log_file_size = 5M in

mysql dba系统学习(22)数据库事务详解

上个星期去面试数据库管理员的工作,笔试通过之后就是直接的面试,他问了我一个问题,叫我介绍哈数据库的事务的看法和理解,但是不知所错的没有章法的乱答一气,唉唉,基础不扎实啊. 下面来好好的学习哈mysqlinnodb引擎的事务相关的知识 一,我们为什么需要数据库事务呢? 这个问题看似很简单,但是真的能够说明白还是要看看我们的基本功是不是扎实 例如,用户A给用户B通过ATM机转账1000元,那么A账户上就会少1000元,而B用户会多1000元 在这个过程中,两个环节是关联的.第一个账户划出款项必须保证