MySQL数据库基础之物理备份与日志管理

本文详细介绍了使用percona-xtrabackup进行MySQL物理备份,包括完全备份、增量备份和差异备份的步骤及恢复流程。同时,讨论了数据库日志管理,如错误日志、通用查询日志、二进制日志、中继日志和慢查询日志,以及如何设置和查看binlog。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:percona-xtrabackup 物理备份

1.简介

它是开源免费的支持MySQL 数据库热备份的软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份。它不暂停服务创建Innodb热备份;为mysql做增量备份;在mysql服务器之间做在线表迁移;使创建replication更加容易;备份mysql而不增加服务器的负载。
percona是一家老牌的mysql技术咨询公司。它不仅提供mysql的技术支持、培训、咨询,还发布了mysql的分支版本–percona Server。并围绕percona Server还发布了一系列的mysql工具。

2.备份方式

完全备份:全部数据进行备份

增量备份:每次备份上一次备份到现在产生的新数据
比如我在周一进行了一次全备,周二的时候就不需要全备了,如果还全备,会浪费我们的磁盘空间,这个时候,周二我们就可以适用增量备份.周三四五六日都可以逐天进行一个增量备份.就是比如周一做了一个全备,然后到周二你现在准备做备份了,就是周一全备之后到周二备份之前的新数据可以做一个增量备份.

差异备份:只备份跟完整备份不一样的

3.软件安装

它是一个第三方软件,需要自行安装.
# wget http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1- 4.noarch.rpm
# rpm -ivh percona-release-0.1-4.noarch.rpm
关掉签名机制
# yum -y install percona-xtrabackup-24.x86_64

注意:
如果依赖包perl-DBD-MySQL安装不上,需先把percona源拿掉用centos的源单独安装,然后再安装percona- xtrabackup-24.x86_64
[root@e9fcf0f73504 yum.repos.d]# mv percona-release.repo percona-release.repo.bak [root@e9fcf0f73504 yum.repos.d]# yum -y install perl-DBD-MySQL
[root@e9fcf0f73504 yum.repos.d]# mv percona-release.repo.bak percona-release.repo [root@e9fcf0f73504 yum.repos.d]# yum -y install percona-xtrabackup-24.x86_64
注意:
Percona-Server-shared与mysql-community-server冲突。

解决方案:
原来是需要安装mysql-community-libs-compat

[root@localhost ~]# wget http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
--2020-05-09 00:32:16--  http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
正在解析主机 www.percona.com (www.percona.com)... 74.121.199.234
正在连接 www.percona.com (www.percona.com)|74.121.199.234|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 301 Moved Permanently
位置:https://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm [跟随至新的 URL]
--2020-05-09 00:32:17--  https://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
正在连接 www.percona.com (www.percona.com)|74.121.199.234|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:6555 (6.4K) [application/x-redhat-package-manager]
正在保存至: “percona-release-0.1-4.noarch.rpm”

100%[===================================================================================================>] 6,555       --.-K/s 用时 0s      

2020-05-09 00:32:18 (1.36 GB/s) - 已保存 “percona-release-0.1-4.noarch.rpm” [6555/6555])

[root@localhost ~]# rpm -ivh percona-release-0.1-4.noarch.rpm 
准备中...                          ################################# [100%]
正在升级/安装...
   1:percona-release-0.1-4            ################################# [100%]
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vi percona-release.repo 
#进入这个软件的yum仓库把gpgcheck的1改为0关闭签名机制
[root@localhost yum.repos.d]# yum -y install percona-xtrabackup-24.x86_64
#然后安装.这个软件安装时候容易出问题,如果出现问题安装不上,上面有常见的问题和解决方法.

4.完整备份

完全备份流程
创建备份目录.
mkdir -p /xtrabackup/full

备份
innobackupex --user=root --password=‘QianFeng@123’ /xtrabackup/full

完全备份恢复流程

  1. 停止数据库
  2. 清理环境
  3. 重演回滚--> 恢复数据
  4. 修改权限
  5. 启动数据库

关闭数据库:
# systemctl stop mysqld
# rm -rf /var/lib/mysql/*
# rm -rf /var/log/mysqld.log
# rm -rf /var/log/mysql-slow/slow.log (有则删除,无则不需要操作)
恢复之前的验证恢复:
# innobackupex --apply-log /xtrabackup/full/2020-05-11_15-20-18/

确认数据库目录: 恢复之前需要确认配置文件内有数据库目录指定,不然xtrabackup不知道恢复到哪里 # cat /etc/my.cnf
[mysqld] datadir=/var/lib/mysql

恢复数据:
[root@xingdian mysql]# innobackupex --copy-back /xtrabackup/full/2020-05-11_15-20-18/
修改权限:
[root@xingdian mysql]# chown mysql.mysql /var/lib/mysql -R
启动数据库:
[root@xingdian mysql]# systemctl start mysqld
验证数据:
[root@xingdian mysql]# mysql -u root -pxxxx
mysql> show databases;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> create database TNT;
Query OK, 1 row affected (0.00 sec)
#先准备一个干净环境的数据库,然后新建一个库.准备进行备份.
[root@localhost ~]# mkdir -p /xtarbackup/full
#先创建一个备份的目录,然后进行完整备份.
[root@localhost ~]# innobackupex --user=root --password=TNTnb@123 /xtarbackup/full/
200511 15:20:20 completed OK!
#因为xtarbackup是支持热备份的,所以我们不需要停止数据库.
[root@localhost ~]# ls /xtarbackup/full/
2020-05-11_15-20-18
#然后之前创建的目录里多了一个以时间命名的文件,里面的就是数据.
#这上面两步就已经完成了完全备份的操作.
#
#下面开始完全备份恢复.
[root@localhost ~]# systemctl stop mysqld
#关闭数据库.
[root@localhost ~]# rm -rf /var/log/mysqld.log 
[root@localhost ~]# rm -rf /var/lib/mysql/*
#模拟数据丢失,把数据库清理.
[root@localhost ~]# innobackupex --apply-log /xtarbackup/full/2020-05-11_15-20-18/
200511 15:24:10 completed OK!
#恢复之前的验证恢复,等于是在恢复数据之前的重演回滚操作.
[root@localhost ~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
#确认数据库目录
#恢复之前需要确认配置文件内有数据库目录指定,不然xtrabackup不知道恢复到哪里
[root@localhost ~]# innobackupex --copy-back /xtarbackup/full/2020-05-11_15-20-18/
200511 15:27:13 completed OK!
#恢复数据
[root@localhost ~]# chown mysql.mysql /var/lib/mysql -R
#修改权限
[root@localhost ~]# systemctl start mysqld
#启动数据库
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| TNT                |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
#最后查看备份是否成功.

5.增量备份

增量备份流程
原理:每次备份上一次备份到现在产生的新数据

创建备份目录:
[root@xingdian ~]# mkdir -p /xtrabackup/full
[root@xingdian ~]# mkdir -p /xtrabackup/zeng

1、完整备份:周一
[root@xingdian ~]# innobackupex --user=root --password=‘QianFeng@123’ /xtrabackup/full

2、增量备份:周二 —— 周六
需要创建数据
[root@xingdian ~]# innobackupex --user=root --password=‘QianFeng@123’ --incremental /xtrabackup/zeng/ --incremental-basedir=/xtrabackup/full/2019-08-20_15-57-31/

[root@xingdian zeng]# ls
2019-08-21_00-00-08

需要创建数据
[root@xingdian ~]# innobackupex --user=root --password=QianFeng@123 --incremental /xtrabackup/zeng/ --incremental-basedir=/xtrabackup/zeng/2019-08-21_00-00-08/

[root@xingdian zeng]# ls
2019-08-21_00-00-08 2019-08-22_00-04-11

增量备份恢复流程

  1. 停止数据库
  2. 清理环境
  3. 依次重演回滚redo log--> 恢复数据
  4. 修改权限
  5. 启动数据库

[root@localhost ~]# systemctl stop mysqld
[root@localhost ~]# rm -rf /var/lib/mysql/*
依次重演回滚redo log

周一:full
[root@localhost ~]# innobackupex --apply-log --redo-only /xtrabackup/full/2019-08-20_15-57- 31/anzhuang

周二 — 周四
[root@localhost ~]# innobackupex --apply-log --redo-only /xtrabackup/full/2019-08-20_15-57-31/ – incremental-dir=/xtrabackup/zeng/2019-08-21_00-00-08/

[root@localhost ~]# innobackupex --apply-log --redo-only /xtrabackup/full/2019-08-20_15-57-31/ – incremental-dir=/xtrabackup/zeng/2019-08-22_00-04-11/

恢复数据
[root@localhost ~]# innobackupex --copy-back /xtrabackup/full/2019-08-20_15-57-31/ (datadir)
修改权限
[root@localhost ~]# chown -R mysql.mysql /var/lib/mysql [root@xingdian ~]# systemctl start mysqld
验证恢复:
mysql> show databases;

[root@localhost ~]# mkdir /xtarbackup/zeng
[root@localhost ~]# mkdir /xtarbackup/full
#先创建一个增量备份的备份目录,以及完全备份的备份目录.
[root@localhost ~]# rm -rf /xtarbackup/full/*
#完全备份我们刚才就已经有了,所以可以把他删除一下里面的内容.
[root@localhost ~]# innobackupex --user=root --password=TNTnb@123 /xtarbackup/full/
200511 16:26:10 completed OK!
#然后进行第一次的完全备份.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| TNT                |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> create database TNT2;
#先进数据库看看库,然后创建第二个库用来实验.然后退出.
#这个操作等于是在第一次完全备份之后增加了数据,如果我们想备份这一块数据怎么办呢.
[root@localhost ~]# innobackupex --user=root --password='TNTnb@123' --incremental /xtarbackup/zeng/ --incremental-basedir=/xtarbackup/full/2020-05-11_16-26-09/
200511 16:33:39 completed OK!
#进行增量备份
[root@localhost ~]# ls /xtarbackup/full/
2020-05-11_16-26-09
[root@localhost ~]# ls /xtarbackup/zeng/
2020-05-11_16-33-37
#完全备份和增量备份的备份目录都有数据.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| TNT                |
| TNT2               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

mysql> create database TNT3;
Query OK, 1 row affected (0.00 sec)
#然后进入数据库,再创建一个库3,等于是数据库里面的内容再次有了修改.然后退出.
[root@localhost ~]# innobackupex --user=root --password='TNTnb@123' --incremental /xtarbackup/zeng/ --incremental-basedir=/xtarbackup/zeng/2020-05-11_16-33-37/
200511 16:39:16 completed OK!
#然后再进行一次增量备份,这里注意要把刚才那次增量备份时候写的备份路径
#--incremental-basedir=/xtarbackup/full/2020-05-11_16-26-09/
#换成
#--incremental-basedir=/xtarbackup/zeng/2020-05-11_16-33-37/
#因为增量备份的原理就是只备份上一次备份之后到现在的内容.
[root@localhost ~]# ls /xtarbackup/zeng/
2020-05-11_16-33-37  2020-05-11_16-39-15
#然后增量备份里面就有两份数据了.
#上面这就是增量备份.

然后进行增量备份恢复

[root@localhost ~]# systemctl stop mysqld
#先停止数据库
[root@localhost ~]# rm -rf /var/lib/mysql/*
#再清理环境.
[root@localhost ~]# innobackupex --apply-log --redo-only /xtarbackup/full/2020-05-11_16-26-09/
200511 16:46:19 completed OK!
#然后需要先把之前的备份包括完整备份和增量备份都先重演回滚.这里是完整备份的回滚.redo.
[root@localhost ~]# innobackupex --apply-log --redo-only /xtarbackup/full/2020-05-11_16-26-09/ --incremental-dir=/xtarbackup/zeng/2020-05-11_16-3
2020-05-11_16-33-37/ 2020-05-11_16-39-15/
#进行增量回滚的时候先写完全备份回滚,然后再写增量回滚,然后切记要按时间顺序依次回滚.
#里面看到有两份数据,这里是先需要回滚2020-05-11_16-33-37/
[root@localhost ~]# innobackupex --apply-log --redo-only /xtarbackup/full/2020-05-11_16-26-09/ --incremental-dir=/xtarbackup/zeng/2020-05-11_16-33-37/
200511 16:49:51 completed OK!
#进行第一次的增量回滚.
[root@localhost ~]# innobackupex --apply-log --redo-only /xtarbackup/full/2020-05-11_16-26-09/ --incremental-dir=/xtarbackup/zeng/2020-05-11_16-39-15/
200511 16:50:46 completed OK
#然后进行第二次增量回滚.(/xtarbackup/zeng/目录下的另外一份文件)
#这里相当于把两次增量都回滚到我们的完全备份目录下,所以我们恢复的时候可以直接恢复完整备份就可以.
[root@localhost ~]# innobackupex --copy-back /xtarbackup/full/2020-05-11_16-26-09/
200511 16:54:39 completed OK!
#直接进行完整备份的恢复.
[root@localhost ~]# chown mysql.mysql /var/lib/mysql -R
#然后给权限
[root@localhost ~]# systemctl start mysqld
#启动数据库
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| TNT                |
| TNT2               |
| TNT3               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
7 rows in set (0.00 sec)
#恢复成功.

6.差异备份

特点:只备份跟完整备份不一样的
差异备份流程
创建备份目录:
[root@localhost ~]# mkdir -p /xtrabackup/full
1、完整备份:
周一
[root@localhost ~]# innobackupex --user=root --password=888 /xtrabackup/full

2、差异备份:
周二 —— 周六
创建备份目录:
[root@localhost ~]# mkdir -p /xtrabackup/jian

insert into testdb.test2 values(2);
[root@localhost ~]# innobackupex --user=root --password=888 --incremental /xtrabackup/jian – incremental-basedir=/xtrabackup/完全备份目录(周一)

insert into testdb.test2 values(3);
[root@localhost ~]# innobackupex --user=root --password=888 --incremental /xtrabackup/jian – incremental-basedir=/xtrabackup/完全备份目录(周一)

insert into testdb.test values(4);
[root@localhost ~]# innobackupex --user=root --password=888 --incremental /xtrabackup/jian – incremental-basedir=/xtrabackup/完全备份目录(周一)

差异备份恢复流程

  1. 停止数据库
  2. 清理环境
  3. 重演回滚redo log(周一,某次差异)--> 恢复数据
  4. 修改权限
  5. 启动数据库

一. 停止数据库
[root@localhost ~]# systemctl stop mysqld

二. 清理环境
[root@localhost ~]# rm -rf /var/lib/mysql/*

三. 重演回滚redo log(周一,某次差异)--> 恢复数据
1).恢复全量的redo log
[root@localhost ~]# innobackupex --apply-log --redo-only /xtrabackup/完全备份目录(周一)
2).恢复差异的redo log
[root@localhost ~]# innobackupex --apply-log --redo-only /xtrabackup/完全备份目录(周一)-- incremental-dir=/xtrabacku/某个差异备份

四.复制数据文件(cp,rsync),修改权限
[root@localhost ~]# innobackupex --copy-back /xtrabackup/完全备份目录(周一)

设置权限
[root@localhost ~]# chown mysql.mysql /var/lib/mysql -R

五.启动mysqld
[root@localhost ~]# systemctl start mysqld

六.验证恢复:
[root@localhost ~]# mysql -u root -pQianFeng@123

[root@localhost ~]# rm -rf /xtarbackup/*
#清理一下,把之前的备份目录删了.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| TNT3               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
#这里有我们之前创建的库,以TNT3为基准进行完整备份.然后退出.
[root@localhost ~]# innobackupex --user=root --password='TNTnb@123' /xtarbackup/full
200512 01:37:40 completed OK!
#首先进行一个完整备份,和之前一样.
[root@localhost ~]# ls /xtarbackup/full/
2020-05-12_01-37-38
#这个full文件夹虽然在做备份之前没去先创建出来,但是还是会自动给我们创建.最好还是自己创建一下.
#这里就完成了完整备份.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| TNT3               |
| TNTNB              |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.00 sec)
#进行差异备份之前先去库里面修改下内容,随便创建个库.
[root@localhost ~]# mkdir /xtarbackup/jian
#接着进行差异备份,创建一个备份目录,放差异备份的内容.
[root@localhost ~]# innobackupex --user=root --password='TNTnb@123' --incremental /xtarbackup/jian/ --incremental-basedir=/xtarbackup/full/2020-05-12_01-37-38/
200512 01:44:01 completed OK!
#然后进行第一次差异备份的操作.
+--------------------+
| Database           |
+--------------------+
| information_schema |
| TNT3               |
| TNTNB              |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

mysql> create database TNTNBNB;
Query OK, 1 row affected (0.00 sec)
#然后我们进库里面再创建一个库,准备做第二次差异备份.
[root@localhost ~]# innobackupex --user=root --password='TNTnb@123' --incremental /xtarbackup/jian/ --incremental-basedir=/xtarbackup/full/2020-05-12_01-37-38/
200512 01:46:53 completed OK!
#然后进行第二次差异备份.
#因为差异备份它只备份跟完整备份不一样的,所以命令目录不用修改.
[root@localhost ~]# ls /xtarbackup/full/
2020-05-12_01-37-38
[root@localhost ~]# ls /xtarbackup/jian/
2020-05-12_01-44-00  2020-05-12_01-46-51
#一个是完整备份,另外两个是差异备份.
#full文件里的完整备份数据,里面有1个库.
#jian文件里面第一次差异备份的数据里面是增加了1个库,所以这个文件里面共有2个库.
#jian文件里面第二次差异备份的数据里面是增加了1个库,所以这个文件里面就有3个库了.
#如果full的比作A,jian的两个比作BC,那么如果用B去进行恢复,那么就会有2个库,如果用C去恢复就会有3个库.
#它备份是用完整备份来做参照,只备份和完整备份不一样的东西.

下面进行差异备份的回滚和恢复.

[root@localhost ~]# systemctl stop mysqld
#停止服务
[root@localhost ~]# rm -rf /var/lib/mysql/*
#清理环境
[root@localhost ~]# innobackupex --apply-log --redo-only /xtarbackup/full/2020-05-12_01-37-38/
200512 01:57:41 completed OK!
#同样先进行完整备份的回滚.
[root@localhost ~]# innobackupex --apply-log --redo-only /xtarbackup/full/2020-05-12_01-37-38/ --incremental-dir=/xtarbackup/jian/2020-05-12_01-44-00/
200512 02:04:56 completed OK!
#jian文件夹里面有两个文件,我们这个例子是想恢复第一次差异备份时候的数据,所以我们要用第一个文件来先进行回滚.
#想备份哪个就选哪个.第一次差异备份的时候库里应该是有2个库.
[root@localhost ~]# innobackupex --copy-back /xtarbackup/full/2020-05-12_01-37-38/
200512 02:25:04 completed OK!
#因为已经进行了第一次差异备份的回滚给到了完整备份.然后只恢复完整备份的数据即可.
#如果等下恢复出来2个库就是成功.
[root@localhost ~]# chown mysql.mysql /var/lib/mysql -R
[root@localhost ~]# systemctl start mysqld

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| TNT3               |
| TNTNB              |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.00 sec)
#恢复成功

二:数据库日志管理

1.日志分类
错误日志 :启动,停止,关闭失败报错。rpm安装日志位置 /var/log/mysqld.log 排错

通用查询日志:所有的查询都记下来。

二进制日志:实现备份,增量备份。只记录改变数据,除了select都记。 备份 binlog

中继日志:读取主服务器的binlog,在本地回放。保持一致。 复制

slow log:慢查询日志,指导调优,定义某一个查询语句,超时时间,通过日志提供调优建议给开发人员。 调优

DDL log: 定义语句的日志。
Error Log
log-error=/var/log/mysqld.log

Binary Log:前提需要开启
log-bin=/var/log/mysql-bin/slave2
server-id=2

[root@localhost ~]# mkdir /var/log/mysql-bin
[root@localhost ~]# chown mysql.mysql /var/log/mysql-bin/
[root@localhost ~]# systemctl restart mysqld

查看binlog日志
# mysqlbinlog slave2-bin.000001 -v --base64-output=decode-rows
时间点 : 141126 14:04:49
位置点 : at 106

注:

  1. 重启mysqld 会截断
  2. flush logs 会截断
  3. reset master 删除所有binlog
  4. 删除部分
    PURGE BINARY LOGS TO ‘mysql-bin.010’;
    PURGE BINARY LOGS BEFORE ‘2019-04-02 22:46:26’;

截取binlog
all:
# mysqlbinlog mysql.000002

datetime:
# mysqlbinlog mysql.000002 --start-datetime=“2018-12-05 10:02:56”
# mysqlbinlog mysql.000002 --stop-datetime=“2018-12-05 11:02:54”
# mysqlbinlog mysql.000002 --start-datetime=“2018-12-05 10:02:56” --stop-datetime=“2018-12-05 11:02:54”

position:
# mysqlbinlog mysql.000002 --start-position=260
# mysqlbinlog mysql.000002 --stop-position=260
# mysqlbinlog mysql.000002 --start-position=260 --stop-position=930

Slow Query Log
slow_query_log=1
slow_query_log_file=/var/log/mysql-slow/slow.log
long_query_time=3 设置慢查询超时时间 单位是:秒

验证:
# mysql -u root -p2
> select sleep(6); #执行一个超过6秒的查询操作

# cat /var/lib/mysql/slow-log

[root@localhost ~]# vi /etc/my.cnf
#增加下面3行参数
slow_query_log=1
slow_query_log_file=/var/lib/mysql/slow.log
long_query_time=3

[root@localhost ~]# systemctl restart mysqld
#然后重启数据库.
mysql> select sleep(6);
+----------+
| sleep(6) |
+----------+
|        0 |
+----------+
1 row in set (6.00 sec)
#然后进库执行一个查询语句.我们设置的是超过3秒就会记录在我们的慢日志.
[root@localhost ~]# ls /var/lib/mysql/
auto.cnf            client-cert.pem     ibdata1             ibtmp1              mysql.sock.lock     public_key.pem      slow.log
ca-key.pem          client-key.pem      ib_logfile0         mysql/              performance_schema/ server-cert.pem     sys/
ca.pem              ib_buffer_pool      ib_logfile1         mysql.sock          private_key.pem     server-key.pem      
#然后var/lib/mysql里面就会有一个slow.log的慢日志.

[root@localhost ~]# cat /var/lib/mysql/slow.log 
/usr/sbin/mysqld, Version: 5.7.30-log (MySQL Community Server (GPL)). started with:
Tcp port: 0  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
# Time: 2020-05-12T15:09:08.324971Z
# User@Host: root[root] @ localhost []  Id:     2
# Query_time: 6.000678  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
SET timestamp=1589296148;
select sleep(6);
#然后查看这个记录,把这些超时的语句记录交给开发人员,他们就可以对这些查询时间超时过长的语句进行优化.
#这个目录可以设置到其他目录,但是要保证这个目录有权限,设置一下权限.mysql.mysql属主和属组.让数据库有操作权限,不然日志会生成不了.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值