首页
学习
活动
专区
圈层
工具
发布

linux mysql开启日志命令

在Linux系统中,MySQL可以通过配置文件或命令行来开启日志功能。以下是开启MySQL日志的详细步骤和相关概念:

基础概念

MySQL日志主要包括以下几种类型:

  1. 错误日志(Error Log):记录MySQL启动、运行和停止时的错误信息。
  2. 查询日志(Query Log):记录所有的SQL语句。
  3. 慢查询日志(Slow Query Log):记录执行时间超过设定阈值的SQL语句。
  4. 二进制日志(Binary Log):记录所有更改数据或可能更改数据的SQL语句,用于数据恢复和主从复制。
  5. 中继日志(Relay Log):在主从复制中,从服务器使用中继日志来重放主服务器的二进制日志事件。

开启日志的命令

1. 错误日志

错误日志默认是开启的,通常位于/var/log/mysql/error.log。如果需要修改路径或文件名,可以在MySQL配置文件my.cnf中进行设置:

代码语言:txt
复制
[mysqld]
log-error=/path/to/error.log

2. 查询日志

查询日志默认是关闭的,可以通过以下命令临时开启:

代码语言:txt
复制
SET GLOBAL general_log = 'ON';
SET GLOBAL log_output = 'FILE'; -- 或者 'TABLE'
SET GLOBAL general_log_file = '/path/to/query.log';

或者在配置文件中设置:

代码语言:txt
复制
[mysqld]
general_log = 1
general_log_file = /path/to/query.log

3. 慢查询日志

慢查询日志默认也是关闭的,可以通过以下命令临时开启:

代码语言:txt
复制
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL slow_query_log_file = '/path/to/slow-query.log';
SET GLOBAL long_query_time = 2; -- 设置慢查询的时间阈值,单位为秒

或者在配置文件中设置:

代码语言:txt
复制
[mysqld]
slow_query_log = 1
slow_query_log_file = /path/to/slow-query.log
long_query_time = 2

4. 二进制日志

二进制日志默认是关闭的,可以通过以下命令临时开启:

代码语言:txt
复制
SET GLOBAL log_bin = 'ON';
SET GLOBAL server_id = 1; -- 设置唯一的服务器ID

或者在配置文件中设置:

代码语言:txt
复制
[mysqld]
log_bin = /path/to/binlog/mysql-bin
server_id = 1

5. 中继日志

中继日志主要用于主从复制,在从服务器上配置:

代码语言:txt
复制
[mysqld]
relay_log = /path/to/relaylog/relay-bin

应用场景

  • 错误日志:用于排查启动和运行时的问题。
  • 查询日志:用于分析用户行为和SQL性能。
  • 慢查询日志:用于优化数据库性能,找出执行效率低的SQL语句。
  • 二进制日志:用于数据恢复和实现主从复制。
  • 中继日志:在主从复制架构中,确保数据一致性。

注意事项

开启日志会增加磁盘I/O和存储空间的消耗,因此在生产环境中应根据实际需求谨慎开启,并定期清理旧的日志文件。

通过以上步骤和配置,可以在Linux系统中有效地管理和利用MySQL的日志功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MySQL的日志操作开启命令

1.首先确认你日志是否启用了 MySQL>show variables like 'log_bin'; 如果启用了,即ON那日志文件就在MySQL的安装目录的data目录下 2.怎样知道当前的日志 MySQL....000001 | tail 4.正确删除MySQL BIN-LOG 日志实操 在mysql中会生大量的如mysq-bin.000001这类日志文件了,这些都是二进制文件了,如果我们是普通的日志没有进行主从配置就可以直接使用...例 # 按文件:删除mysql-bin.000354之前的日志,不包含mysql-bin.000354 MYSQL>purge binary logs to 'mysql-bin.000354'; Query...,先检查主从服务器当前使用的日志文件, //首先登录 要删除日志的服务器的 mysql 终端 #mysql -u root -pxxxxx //检查复制主服务器状态 Mysql>show master...(预留出最近几天的日志) Mysql>purge master logs to ‘mysql-bin.000095; #ll /usr/local/mysql/var/ //从结果中发现,编号000097

1.6K20
  • MySQL开启慢查询日志

    MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值(long_query_time,单位:秒)的SQL语句。默认情况下,MySQL不启动慢查询日志。...本文简单介绍如何开启慢查询日志,如何用mysqldumpslow分析慢查询。...参数说明: slow_query_log #慢查询开启状态,ON开启,OFF关闭 slow_query_log_file #慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL...注意:通用查询日志和慢查询日志都是使用这个命令,使用时一定要注意,一旦执行这个命令,通用查询日志和慢查询日志都只存在新的日志文件中。...如果需要备份旧的慢查询日志文件,必须先将旧的日志改名,然后重启 MySQL 服务或执行 mysqladmin 命令。

    1.9K10

    开启MySQL的binlog日志

    binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的dml操作。通过binlog日志我们可以做数据恢复,做主住复制和主从复制等等。...在my.inf主配置文件中直接添加三行 log_bin=ON log_bin_basename=/var/lib/mysql/mysql-bin log_bin_index=/var/lib/mysql.../mysql-bin.index 三个参数来指定, 第一个参数是打开binlog日志 第二个参数是binlog日志的基本文件名,后面会追加标识来表示每一个文件 第三个参数指定的是binlog文件的索引文件...,这个文件管理了所有的binlog文件的目录 低版本的mysql可以直接添加这句 log_bin=ON log-bin=C:\Program Files (x86)/MySQL/MySQL Server...5.0/log/mysql-bin.log 这些配置完毕之后对于5.7以下版本应该是可以了,但是我们这个时候用的如果是5.7及以上版本的话,重启mysql服务会报错。

    2.1K10

    开启MySQL的binlog日志

    binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的dml操作。通过binlog日志我们可以做数据恢复,做主住复制和主从复制等等。...在my.inf主配置文件中直接添加三行 log_bin=ON log_bin_basename=/var/lib/mysql/mysql-bin log_bin_index=/var/lib/mysql.../mysql-bin.index 三个参数来指定, 第一个参数是打开binlog日志 第二个参数是binlog日志的基本文件名,后面会追加标识来表示每一个文件 第三个参数指定的是binlog文件的索引文件...,这个文件管理了所有的binlog文件的目录 低版本的mysql可以直接添加这句 log_bin=ON log-bin=C:\Program Files (x86)/MySQL/MySQL Server...5.0/log/mysql-bin.log 这些配置完毕之后对于5.7以下版本应该是可以了,但是我们这个时候用的如果是5.7及以上版本的话,重启mysql服务会报错。

    3.5K80

    Linux日志筛选命令

    (1)Linux目录操作命令 cd ..退出当前目录,返回上一级目录;cd / 退出当前目录,返回根目录; mkdir命令用于创建一个新的目录;rmdir命令功能删除指定的空目录。...(2)Linux筛选日志 下面罗列的这些基本命令,很有用,对于查询线上线下问题都非常有用的,不妨学习一下哈。...先必须了解两个最基本的命令: tail -n 10 test.log 查询日志尾部最后10行的日志; tail -n +10 test.log 查询10行之后的所有日志; head...关于日期打印,可以先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该时间点,以确保第4步可以拿到日志 这个根据时间段查询日志是非常有用的命令....more命令从前向后读取文件,因此在启动时就加载整个文件。 b.Less less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。

    5.4K20

    开启查看Mysql数据库日志

    使用root用户登陆到数据库后,检查“数据库日志”是否开启 SHOW VARIABLES LIKE 'general%'; # 这份日志会保存到数据库的安装目录, Centos7默认的目录是 /var.../lib/mysql/ +------+-----------+ | Variable_name | Value | +------+-----------+ | general_log...另外,还有一个相关的“慢查询日志”,检查是否开启: SHOW VARIABLES LIKE '%slow_query_log%'; # 这份日志会保存到数据库的安装目录, Centos7默认的目录是...无需重启数据库,直接刷新站点,发现 VM_211_224_centos.log 日志有内容,VM_211_224_centos-slow.log日志无内容(当然这是针对我的情况而言,mysql/mariadb...但是这里可以通过tail -f实时直播日志的打印,以判断执行哪些SQL时会有停顿: tail -10f /var/lib/mysql/VM_211_224_centos.log 刷新网站后,就能通过日志发现

    10K10

    Linux下Tomcat开启查看GC日志

    一、开启GC日志 1、在Tomcat 的安装路径下,找到bin/catalina.sh 加上下面的配置,具体参数,自己配置: [root@CentOS7 tomcat]# vim bin/catalina.sh...2、运行gchisto,分析gc日志 (1)运行gchisto 解包后,打开cmd命令行,执行下边的命令,注意:自己解包后gchisto的路径 >java -jar D:\gchisto-master...\release\GCHisto-java8.jar (2)打开后效果 (3)分析Tomcat 的gc 日志 ① 将linux 下的tomcat 日志sz 到windows 上; ② 导入gchisto...可能会影响性能,但是可以消除碎片 3、辅助信息 JVM提供了大量命令行参数,打印信息,供调试使用。...如果出 现"碎片",可能需要进行如下配置: ① -XX:+UseCMSCompactAtFullCollection:使用并发收集器时,开启对年老代的压缩。

    23.4K50
    领券