1:在使用日志之前先确认日志是否已经开启了,登录mysql客户端,
mysql -uroot -p123456(如果是源码安装且没有把mysql bin的路径加入到环境变量中,可以输入 /usr/local/mysql/bin/mysql -uroot -p123456 或 在家目录配置.bash_profile文件把/usr/local/mysql/bin一次性加到环境变量中),输入:shou variables like "%bin%",查看log_bin 的值是不是ON。2:配置bin-log日志,如果上述的log_bin的值不是ON,则编辑MySQL的配置文件,
vim /etc/my.cnf,在[mysqld](注意不是mysqld_safe)模块下加入log_bin=/usr/local/mysql/log/mysql-bin(log一定要存在,log文件是以mysql-bin开头)。3:重启MySQL客户端,
service mysqld restart,这时在/usr/local/mysql/log目录下你可以看到两个文件,分别是mysql-bin.000001与mysql-bin.index,mysql-bin.000001才是记录MySQL的增删改数据记录,登录到MySQL CLI,切换到test数据库,use test,创建一张表,create table tlog( id int(10) unsigned not null)engine=innodb default charset=utf8 collate=utf8_general_ci;插入一条数据:insert into tlog values(13);刷新bin-log日志,输入:flust logs,这时候在/usr/local/mysql/log下就多了一个mysql-bin.000002文件4:现在模拟服务器奔溃了,数据都丢失了,要恢复到以前的数据,在MySQL CLI中输入:
delete from tlog;现在把数据都删除了,在shell CLI中输入:mysqlbinlog /usr/local/mysql/log/mysql-bin.000001 | mysql -uroot -p123456 test(test是数据库,因为日志是二进制的,所以vi与vim等一般的编辑器查看不了,可以用mysqlbinlog /usr/local/mysql/log/mysql-bin.000001来查看)