当前位置:首页 » 操作系统 » linuxmysql日志在哪

linuxmysql日志在哪

发布时间: 2023-01-19 15:35:23

linux系统上记录MYsql操作的审计日志

    根据笔者上一篇文章—Linux系统上记录用户操作的审计日志 。本文来利用相同的方法记录MYSQL操作的审计日志。

    使用用mysql工具连接MySQL server的所有操作会默认记录到~/.mysql_history文件中,这个文件会把所有操作记录下来,包括创建用户和修改用户的明文密码,这在生产系统上是不安全的。如果不想保存,仅仅删除是不行的(文件不存在会再建立),要直接将其软连接到垃圾箱。

     ln  -s  /dev/null  ~/.mysql_history

    利用上一篇文章相同的方法记录MYSQL操作的审计日志,是因为mysql工具本身就是有一个shell, 每次mysql连接退出后,都会把此次操作的信息记录到~/.mysql_history文件中。那么可以重新定义MYSQL_HISTFILE环境变量来保存mysql日志。

    先看置于/etc/profile.d目录下的环境变量的脚本mysql_history.sh,和loginlog类似。

      在测试时,发现平时使用的普通用户在操作mysql后无法记录,而root用户(平时没有操作过mysql)可以记录成功。后来在在~/.mysql_history文件找到了操作记录,估计是这个文件还存在的原因,删除后才记录到新的MYSQL_HISTFILE定义的路径。

      和loginlog一样,需要定期删除过期日志,以下脚本置于/etc/cron.weekly 目录下。

        delete_time=15

        find /opt/mysqllog/  -mtime +$delete_time -name '*.log' -exec rm -r {} \;

      但是相比于loginlog,mysqllog有两点暂时没有解决。

    1、定义最大的记录条数history.maxSize不知在哪定义,my.cnf?

    2、每一条命令的时间记录添加。

② 如何查看mysql运行,访问记录等日志

mysql有以下几种日志:

错误日志: -log-err

查询日志: -log

慢查询日志: -log-slow-queries

更新日志: -log-update

二进制日志: -log-bin



是否启用了日志

mysql>showvariableslike'log_%';


怎样知道当前的日志

mysql>showmasterstatus;


显示二进制日志数目

mysql>showmasterlogs;


看二进制日志文件用mysqlbinlog

shell>mysqlbinlogmail-bin.000001


或者

shell>mysqlbinlogmail-bin.000001|tail


在配置文件中指定log的输出位置.

Windows:Windows 的配置文件为 my.ini,一般在MySQL的安装目录下或者 c:Windows 下。

Linux:Linux 的配置文件为 my.cnf ,一般在 /etc 下。


windows下

#在[mysqld]中输入
#log
log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"
log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"
long_query_time=2
log-slow-queries="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"

Linux下

#在[mysqld]中输入
#log
log-error=/usr/local/mysql/log/error.log
log=/usr/local/mysql/log/mysql.log
long_query_time=2
log-slow-queries=/usr/local/mysql/log/slowquery.log

③ linux版mysql安装后mysql的日志文件找不到

这个要看安装mysql的配置,默认安装及日志文件如下:

mysql安装

yum -y install mysql mysql-server mysql-devel

chkconfig --level 35 mysqld on

/etc/init.d/mysqld start


④ linux中的MySQL开启二进制日志

二进制日志开启方法:

查看系统变量log_bin,如果其值为OFF,表示没有开启二进制日志(binary log),如果需要开启二进制日志

修改my.cnf,在[mysqld]下面增加

  • log-bin=/data/mysqldb/log/mysql-bin.log

  • binlog_format = ROW

  • expire_logs_days=15

  • server_id = 2

修改完之后重启MySQL,然后再查看show variables like 'log_bin%'; 这个时候你会发现log_bin的value值变成了ON

⑤ linux怎么查询mysql操作日志

mysql -u root -p //以root账户登陆之后 use mysql; select User from user;

⑥ linux怎么查看mysql的binlog日志存放的位置

这个你可以看配置文件 启用了才有这样的记录默认是没有的

/etc/my.conf

log-bin = mysqlbin

一般放在/var/lib/mysql

比如上面的设置重启数据库会生成mysqlbin.000001文件

热点内容
如何对iis服务器远程执行代码 发布:2025-07-05 03:49:19 浏览:131
安卓手机连不到热点为什么 发布:2025-07-05 03:47:53 浏览:34
安卓平板哪个清理内存好 发布:2025-07-05 03:47:43 浏览:920
p2p数据库 发布:2025-07-05 03:47:10 浏览:993
3k买什么安卓手机 发布:2025-07-05 03:40:30 浏览:558
创建域用户账户密码至少多少字符 发布:2025-07-05 03:29:43 浏览:15
安卓安装包反编译 发布:2025-07-05 03:24:07 浏览:713
vi编译器怎么查最后几行 发布:2025-07-05 03:24:00 浏览:901
ntp服务器怎么搭建 发布:2025-07-05 02:51:53 浏览:771
谭浩强c语言基础 发布:2025-07-05 02:51:45 浏览:778