说明:利用shell脚本将MYSQL的错误日志提取并保存到数据库中
步骤:
1) 创建数据库,创建表
Create database MysqlCenter;
Use MysqlCenter;
CREATE TABLE Errlog_info (
id int(11) DEFAULT NULL,
Loginfo varchar(2000) DEFAULT NULL,
createdtime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
KEY IX_id (id)
);
2)创建shell(Errlog_info.sh)脚本,暂定于/usr/local/mysql目录下面
shell脚本如下:
/usr/local/mysql/bin/mysql -u root -pH*%J6iG5/pib6mK --local_infile=1 <<EOF
use MysqlCenter;
create TEMPORARY table Errlog_info_temp(loginfo varchar(2000),id int primary key AUTO_INCREMENT);
LOAD DATA LOCAL INFILE '/usr/local/mysql/data/loDB192168000046.err' INTO TABLE Errlog_info_temp;
insert into Errlog_info(id,loginfo) select ID,loginfo from Errlog_info_temp where id not in (select id from Errlog_info);
drop table Errlog_info_temp;
EOF
Shell脚本解释:利用Shell进入到数据库中,在MysqlCenter库中创建临时表并将错误日志导入到临时表,将临时表中新产生的数据导到实体表中并删除临时表。
3)将shell脚本赋于执行权限
chmod u+x Errlog_info.sh
4)进入到/etc目录下面, 利用crond自动执行shell脚本,并定于每天凌晨四点执行此Shell脚本
cd /etc
crontab –e
0 4 * * * /usr/local/mysql/Errlog_info.sh