在chroot环境下将MySQL日志输出到syslog

好久没写博客了,这几个月一直在学习nodejs,angularjs,做一些前端开发,目前还是学习阶段,等有一些体会再来分享。

这两天碰到的一个问题是,我们的产品给客户后,客户要统一管理日志,MySQL要将日志输出到syslog,就需要在my.cnf的[mysqld_safe]段配置syslog。但是修改了以后发现服务启动失败,而且没有日志,经过几番调查,还需要做如下的事情:

1. chroot MySQL的时候需要将/bin/logger拷贝到chroot jail中,因为logger是syslog的shell接口,没有logger可执行文件,就调用不了syslog

2. 通常情况下,logger做的事情是将日志发送到/dev/log这个socket上,但是在chroot环境下,jail里面是访问不到外面的文件的,所以要在chroot jail中配置log socket文件,方法是修改/etc/sysconfig/syslog,将SYSLOGD_OPTIONS改为

SYSLOGD_OPTIONS="-m 0 -a /var/chroot/mysql/dev/log"

男人(man)是这样说的:

-a socket

Using  this argument you can specify additional sockets from that syslogd has to listen to.  This is needed if you’re going to let some

daemon run within a chroot() environment.  You can use up to 19 additional sockets.

好了,重启syslog,MySQL的日志默认就输出到/var/log/daemon.log文件中了,同时可以看到在/var/chroot/mysql/dev目录下有了log socket文件。

以上,在CentOS 5.9中测试通过

时间: 2024-10-27 07:31:52

在chroot环境下将MySQL日志输出到syslog的相关文章

Windows环境下tomcat配置日志输出

在Linux系统中,可以通过tail  -f  catalina.out 来跟踪Tomcat 和相关应用运行的情况. 在windows下,catalina日志与Linux记录的内容有很大区别,大多信息只输出到屏幕而没有记录到catalina.out里面. 把控制台的信息输出到“\%CTALINA_BASE%\logs\catalina.out”里:1.打开bin下面的startup.bat文件,把call "%EXECUTABLE%" start %CMD_LINE_ARGS%    

python环境下使用mysql数据及数据结构和二叉树算法(图)

python环境下使用mysql数据及数据结构和二叉树算法(图):1 python环境下使用mysql2使用的是 pymysql库3 开始-->创建connection-->获取cursor-->操作-->关闭cursor->关闭connection->结束45 代码框架6 import pymysql.cursors7 ###连接数据库8 connection = pymysql.connect(host='127.0.0.1',port=3306,user='roo

Windows环境下初始化mysql

Linux环境中,安装好mysql后,还不能直接启动服务,必须先对数据库进行初始化.初始化的工作主要包括: 初始化日志.表空间等数据库必须的文件: 创建并初始化系统数据库(mysql). 初始化完成后,启动mysqld守护进程,方可访问数据库. 在Windows的环境下,安装包内已经自带了一个初始化好的环境,安装后展开在mysql根目录的data子目录.所以并不需要手工进行初始化.但是某些情况下,也可能需要从零开始初始化数据库,比如: 数据文件被破坏,需要重建: 希望保留现有环境不动,建立一个新

linux环境下搭建MySQL数据库的双击热备

准备服务器 由于Mysql不同版本之间的(二进制日志)binlog格式可能会不太一样,因此最好的搭配组合是主(Master)服务器的Mysql版本和从(Slave)服务器版本相同或者更低,主服务器的版本肯定不能高于从服务器版本.本次我用于测试的两台服务器版本都是Mysql-5.5.17. Mysql 建立主-从服务器双机热备配置步骤 2.1环境描述A服务器(主服务器Master):59.151.15.36B服务器(从服务器Slave):218.206.70.146主从服务器的Mysql版本皆为5

Linux CentOS 7环境下安装MySQL

在CentOS 7中默认安装有MariaDB,但是我们需要的是MySQL,安装MySQL可以覆盖MariaDB. (注:MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险.MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品.) 首先需要安装MySQL的Yum Repository. (注:

在windows环境下搭建mysql集群

1. 前(fei)言(hua) 最近实训老师给我们布置了一个建立mysql集群的任务,并扔了两个博客链接给我们参考,然后就没有然后了.根据老师给的博客上面的步骤试了一下,发现并不能成功建立,于是自己百度,找到了一个挺靠谱的博客,于是参考了一下,感觉总体还是不错的~ 靠谱的博客: http://blog.csdn.net/mazhaojuan/article/details/42211857 2. 理论基础知识 首先需要了解什么是管理节点.数据节点和SQL节点~ (1)管理结点:从名字可以看出来,

shell脚本gbk环境下搜索utf-8日志

方法1: 使用linux iconv将utf-8日志转为gbk编码的文件,然后gbk环境下统计数据. utf8(){ LOG_FILE="/lcims/crontab_shell/outfile/lan_wlan_wo/SocketMain.log141114_lan1" LOG_FILE_TMP="/lcims/crontab_shell/outfile/lan_wlan_wo/141114_lan1" echo "utf-8-----" #o

windows环境下使用MySQL导入数据乱码报错的解决办法

Linux及Mac系统下使用source xxx.sql 可直接导入测试数据(注意必须先切换到当前xxx.sql的目录下), 但在Windows环境下导入会出现乱码报错的情况, 主要是因为编码的问题,解决方法如下: 1. 先切换路径到xxx.sql的目录下; 2. 使用cmd或PowerShell 登陆MySQL数据库; 3. 先输入     set  names  utf8 4. 再输入      source  xxx.sql        (或者把文件夹拖到终端也可以) 原文地址:http

liunx环境下安装mysql数据库

一:如果你的机器上之前安装有mysql数据库,先进行卸载 (1)需要先将它的文件删除 (2)同时注意删除老板本的etc/my.cnf文件和/etc/mysql目录,这两个文件控制的是mysql的一些配置属性. 二:去官网下载mysql安装文件 在Linux下安装MySQL有三种方式:第一种以rpm的二进制文件分个安装,第二种是自己编译源码后安装,最后一种是以二进制tar.gz文件来安装. 这三种中,由于最后一种是统一的整体文件,个人感觉最简单,故本文将采用此方式来进行安装: 首先到mysql的下