您的位置:首页 > 数据库 > SQL

mysql 日志监控

2015-09-02 00:03 483 查看
mysql 日志监控
数据库备份与还原

.frm 表结构

.myi 库据库索引

.myd 数据存放文件

1、备份

退出数据库

mysqldump 库名 > /backup/aa.sql /*只能备份表*/

mysqldump --databases aaa bbb > 1.sql /* 同时备份两个库 */

mysqldump --all-databases > 2.sql /* 备份整个数据库 */

mysqlhotcopy

/*增量备份,支持正则表达式*/ /*只能本地备份到本地,文件级的备份工具,必须安装 perl-DBD-mysql*/

mysqlhotcopy -u root -p'123456' --regexp=^[a-z] /backup /*完全备份*/

mysqlhotcopy -u root -p'123456' --addtodest --regexp=^[a-z] /* --addtodest参数支持增量备份*/

/* 只有新数据才会备份 */

2、恢复

创建一个库 /*这种还原方式,必须先创建一个库文件,否则无法还原*/

退出mysql

mysql -uroot -p'123456' aaa < /backup/aa.sql /*这还原适用与mysqldump不加参数备份的文件*/

mysql -uroot -p'123456' < /backup/bb.sql /*这种还原适用于加了--database与--all-database参数的文件*/

mysqlhotcopy /*备份速度快*/还原,只需要把目录,拷贝到mysql库目录下

cp -a /*把需要还原的文件拷贝到/var/lib/下*/

#!/bin/bash

c=$(ls -p /var/lib/mysql | grep / | tr -d /) /* 如果库里面没有数所,则不备份 */

b="/backup"

for a in $c

do

mysqlhotcopy --addtodest --regexp="$a" $b /* --addtodest增量备份 */

done

远程备份与还原

在别外一台机器上

mysqldump -uroot -p'123456' IP地址 库名

mysqldump -uroot -p'123456' 192.168.10.5 --database books > /root/a.sql /*远程备份库*/

mysql -uroot -p'123456' -h 192.168.10.5 < /root/a.sql <远程还原>

日记管理

1、日志类型

show global variables like '%log%'; /* 查年所有日志相关的记录 */

show global variables like '%log.error%'; /* 只查看error相关日志 */

vim /etc/my.cnf /* 默认主配置文件 */

2、通用查询日志

general /*相关的都是查询日志*/

log_output={table|file|none} /* table存放在表里,file存放在文件里面,nono不保存 */

3、慢查询日志:

10秒没有回复,算慢查询日志

log_output

long_query_time /*在/etc/my.cnf配置文件中添加*/

4、二进制日志

log_bin /*都是二制相当内容*/

vim /etc/my.cf

log_bin=mysql /*添加,开启二进制日志*/

max_binlog_size = 200 /* 限制二进制日志的大小,默认大不字节 */

show binary logs /*查看二制日志*/

show master status /* 查看当前使用的是哪一个日志文件 */

show binlog events in 'mysql.000002'; /*查看某个二进文件里***体的内容*/

====================================================================================================

退出mysql,直接查看/var/lib/mysql下的文件

mysqlbinlog mysql.000001

==============================

=根据时间或操作标记来恢复数据=

==============================

/*如果数据被删除,只能找数据的创建时间来恢复*/

mysqlbinlog --start-datetime="2013-11-22 03:22:19" --stop-datetime="2013-11-22 03:24:35" mysql.000003 |mysql -uroot -p '123456'

--start-datetime 指定开始时间 --stop-datetime 指定结束时间

mysqlbinlog --start-position="422" --stop-position="659" mysql.000003 | mysql -uroot -p '123456'

"事务日志"就是在mysql中的每一次操作 myisam innoDB 常用的两个存储索引

====================================================================================================

图形化管理日志(loganalyzer工具) /* 需要LAMP环境 */

事务日志,每操作一步就称为事务日志

yum -y install httpd mysql mysql-server php

service httpd start

service mysqld start

mysqladmin -uroot password '123456'

cd /var/www/html

vim index.php /*测试PHP是否正常工作*/

安装 yum -y install rsyslog-mysql /* 使rsyslog有接口可以访问mysql */

cd /usr/share/doc/rsyslog-mysql-5.8.10/

mysql -uroot -p < createDB.sql /* 导入数据库 */

mysql -uroot -p'123456'

show databases; /*查看数据库是否有Syslog库*/

use Syslog

show tables; /* 查看SystemEvents 与 SystemEventsProperties 表 */

grant all on Syslog.* to rsyslog@localhost identified by '123456'; /* 授权 */

exit /*退出数据库*/

vim /etc/rsyslog.conf

$ModLoad ommysql /* 添加模块,使mysql可以管理日志 */

*.* :ommysql:localhost,Syslog,rsyslog,123456

/* "*.* :ommysql表示以什么样的权限访问,localhost代表主机,Syslog代表库名,rsyslog,代表用户名,123456代表密码 */

取消以下几个的注释

$ModLoad immark /*开启这个模块,表示启用数据库标记功能*/

$ModLoad imudp

$UDPServerRun 514 /*开启这两个模块,UDP相关配置*/

保存退出

service rsyslog restart /*重启rsyslog服务*/

=============================================================================================================

打开客户端 /*用户的配置文件有3个分别是,bashrc,.bash_profile,.bash_logout*/

rpm -q rsyslog /* 检查rsyslog是否安装 */

yum -y install rsyslog-mysql

vim /etc/rsyslog.conf

在最后一行加入以下内容

*.* @192.168.10.5 /*将本地产生的所有日志全部上传服务器*/

保存退出

service rsyslog restart /* 重启rsyslog服务 */

vim /etc/bashrc

在最后一行加入以下内容

export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y;});logger "[euid=$(whoam i)]":$(who am i):[`pwd`]"$msg"; }'

/* 这一条命令的意思就是,把用户敲过的命令全部保存到日志里面 */

/* x y与$0 $1意思一样,logger是统计命令的 */

保存退出

source /etc/bashrc

===============================================================================================================

在服务器是监听日志

tail -f /var/log/messages

切到客户机

在客户机上,随便敲几条命令,看服务器端会不会显示

================================================================================================================

部署软件

切到服务器

yum -y install gcc* /*检查gcc环境有没有*/

装好gcc后,换盘

挂载软件盘

tar -zxf /mnt/cdrom/loganalyzer-3.6.5.tar.gz -C /usr/src

cd /usr/src

mkdir -p /var/www/html/loganalyzer

cp -a /usr/src/loganalyzer-3.6.5/src/* /var/www/html/loganalyzer

cd /var/www/html/loganalyzer

vim config.php /*创建一个空文件*/

chmod 666 config.php



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: