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
![](file:///C:/Users/Steven/AppData/Local/YNote/data/piaoandaodao@163.com/caa2951910bb47f8ac9122cfa3650a50/clipboard.png)
数据库备份与还原
.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
![](file:///C:/Users/Steven/AppData/Local/YNote/data/piaoandaodao@163.com/caa2951910bb47f8ac9122cfa3650a50/clipboard.png)
相关文章推荐
- 解决64位Oracle使用32位PLSQL Developer的乱码问题
- PLSQL Developer 不同窗口查询数据不一致
- sqlplus登录Oracle时ORA-01017: invalid username/password; logon denied的错误
- sqlserver监控阻塞(死锁)具体情况
- MySQL的MHA+keepalived+负载均衡+读写分离架构
- SQL Server中Group分组获取Top N方法实现
- [笔记] 大家一起来测试,benchmark起来(MySQL下的TPC-C,TPC-H,TPC-W)
- MySQL 架构 - MVCC多版本并发控制
- Hadoop第9周练习—Hive部署测试(含MySql部署)
- Kettle连接MySQL错误:OPTION SQL_SELECT_LIMIT=DEFAULT
- Fixed -- Could not open a connection to SQL Server
- Linux运维 第四阶段 (七)MySQL REPLICATION(master->slave)
- MySQL日志维护策略汇总
- Hadoop Pig Hive NoSQL 学习相关资源整理
- 从SQL中获取表架构和数据
- MySQL日志维护策略汇总
- Oracle Client+ PLSQL developer实现远程连接Oracle数据库
- plsql登录时报错:Initialization error orcle not properly installed
- Django连接SQL Server配置指引
- CentOS系统下的Hadoop集群(第10期)_MySQL关系数据库