Mysql update 语句的执行流程,binlog 的作用和几种格式

时间: 2023-03-12 08:07:17 浏览: 33
MySQL 的 UPDATE 语句的执行流程:首先,MySQL 将执行 UPDATE 语句的原始查询编译成内部的数据结构,然后检查安全性,其次,MySQL 执行检索与更新操作,最后,MySQL 执行 binlog 日志记录,以实现一致性。Binlog 是二进制日志的简称,它是MySQL服务器用来记录数据变更的日志文件,其中包含了MySQL服务器中所有数据变更操作的记录,这些操作按照时间顺序记录在binlog文件中,用来实现数据库的数据一致性和容灾备份。MySQL的binlog文件支持三种格式,分别是 STATEMENT、ROW 和 MIXED。
相关问题

mysql redolog和binlog区别

MySQL的redolog和binlog都是用于保证数据一致性和恢复的机制。 redolog主要是用于事务的,记录的是InnoDB存储引擎的事务操作,如insert、update、delete等操作。红色日志是InnoDB自己独立维护的,只在内存中运行,也叫事务日志。在崩溃恢复时,InnoDB根据这个日志把数据重做一遍,在主从同步时也可以使用redolog。 binlog则是MySQL的二进制日志,将SQL语句记录下来,主要是用于记录SQL语句的执行顺序。二进制日志适合做主从复制,主库将日志传递给从库进行执行。从库执行时,相当于对主库跑了一遍这些SQL语句。 所以,redolog是记录数据修改信息,而binlog是记录SQL语句执行信息。

MySQL binlog 恢复数据案例

下面是一个MySQL binlog恢复数据的案例,假设我们有一个名为`testdb`的数据库,里面有一张名为`testtable`的表,我们需要恢复这张表在某个时间点之前的数据。 1. 首先,我们需要确认我们的MySQL实例已经开启了binlog日志,并且我们可以使用`mysqlbinlog`命令来查看binlog日志文件的内容。 2. 然后,我们需要找到我们需要恢复的时间点之前的最近一个binlog日志文件,可以通过以下命令查看: ``` SHOW BINARY LOGS; ``` 3. 找到我们需要恢复的时间点之前的最近一个binlog日志文件后,可以使用以下命令查看该文件的内容: ``` mysqlbinlog /var/lib/mysql/binlog.000001 ``` 这将会输出该文件的所有binlog日志内容。 4. 接下来,我们需要找到我们需要恢复的那条SQL语句在binlog日志中的位置,可以使用以下命令来查找: ``` mysqlbinlog /var/lib/mysql/binlog.000001 | grep -B 2 "UPDATE testdb.testtable SET" ``` 这将会输出所有包含`UPDATE testdb.testtable SET`的SQL语句,并且输出每条SQL语句的前两行,方便我们确认该SQL语句在binlog日志中的位置。 5. 确认了需要恢复的SQL语句在binlog日志中的位置后,我们可以使用以下命令来恢复该SQL语句: ``` mysqlbinlog /var/lib/mysql/binlog.000001 --start-position=123456 | mysql -u root -p testdb ``` 其中,`--start-position`参数指定了需要恢复的SQL语句在binlog日志中的位置,`testdb`是我们需要恢复数据的数据库名。 6. 最后,我们可以使用`SELECT`语句来确认数据已经成功恢复: ``` SELECT * FROM testdb.testtable; ``` 如果数据已经成功恢复,这条`SELECT`语句将会返回我们需要恢复的数据。

相关推荐

pdf
mysql 总结........................................................................................................................................6 1.1 数据库的种类...........................................................................................................6 1.1.1 关系型数据库介绍.................................................................................................6 1.1.2 非关系型数据库介绍.............................................................................................7 1.1.3 非关系型数据库种类.............................................................................................7 1.1.4 关系型数据库产品介绍.........................................................................................8 1.1.5 常用非关系型数据库产品介绍.............................................................................8 1.2 mysql 多实例安装实战......................................................................................................9 1.2.1 什么是 mysql 多实例? .........................................................................................9 1.2.2 mysql 的多实例结构图.........................................................................................10 1.2.3 实战安装 mysql 多实例需要的依赖包...............................................................10 1.2.4 安装编译 mysql 需要的软件...............................................................................10 1.2.5 安装 mysql 软件...................................................................................................11 1.2.6 创建存放两个 mysql 实例的数据目录...............................................................11 1.2.7 创建两个 mysql 多实例的配置文件...................................................................12 1.2.7.1 3306 的实例................................................................................................12 1.2.7.2 3307 的实例................................................................................................16 1.2.7.3 多实例本地登录 mysql .............................................................................20 1.2.7.4 远程连接登录 mysql 多实例....................................................................20 1.3 mysql 基础安全................................................................................................................21 1.3.1 启动程序设置 700,属主和用户组为 mysql .....................................................21 1.3.2 为 mysq 超级用户 root 设置密码........................................................................21 1.3.3 登录时尽量不要在命令行暴漏密码,备份脚本中如果有密码,给设置 700, 属主和用户组为 mysql 或 root......................................................................................21 1.3.4 删除默认存在的 test 库 .......................................................................................21 1.3.5 初始删除无用的用户,只保留 root 127.0.0.1 和 root localhost........................21 1.3.6 授权用户对应的主机不要用%,权限不要给 all,最小化授权,从库只给 select 权限.................................................................................................................................21 1.3.7 不要给一个用户管所有的库,尽量专库专用户...............................................21 1.3.8 清理 mysql 操作日志文件~/mysql_history.........................................................21 1.3.9 禁止开发获取到 web 连接的密码,禁止开发连接操作生产对外的库...........21 1.4.0 服务器禁止设置外网 IP ......................................................................................21 1.4.1 防 SQL 注入(WEB), php.ini 配置文件里面设置 ..........................................21 1.4.2 mysql 的备份的脚本给 700 的权限,并且属主和属组为 root..........................21 1.4 关于 mysql 的启动与关闭..............................................................................................21 1.4.1 单实例 MySQL 启动与关闭方法........................................................................21 1.4.2 多实例 MySQL 启动与关闭方法示例................................................................21 1.5 生产环境关闭 mysql 的命令..........................................................................................22 1.5.1 生产环境不能用强制命令关闭 mysql 服务 .......................................................22 1.5.2 下面来介绍优雅关闭数据库方法: ...................................................................22 1.6 登录 mysql 方法..............................................................................................................22 1.6.1 单实例 MySQL 登录的方法................................................................................22 1.6.2 多实例 MySQL 的登录方法................................................................................22 1.7 关于 mysql 管理员设置..................................................................................................22资源由 www.eimhe.com 美河学习在线收集分享 1.7.1 为管理员 root 用户设置密码并修改方法之一...................................................22 1.7.2 修改管理员 root 密码法二(sql 语句修改) .....................................................22 1.7.3 找回丢失的 mysql root 用户密码(单实例和多实例) ....................................23 1.8 SQL 结构化查询语言......................................................................................................23 1.8.1 什么是 SQL? ......................................................................................................23 1.8.2 SQL 语句最常见的分类一般就是 3 类 ...............................................................24 1.9 数据库的管理应用..........................................................................................................24 1.9.1 创建数据库...........................................................................................................24 1.9.2 查看库的字符集及校队规则...............................................................................24 1.9.3 企业场景创建什么字符集的数据库呢? ...........................................................26 1.9.4 显示数据库...........................................................................................................26 1.9.5 删除数据库...........................................................................................................26 1.9.6 进入数据库中指定的库.......................................................................................27 1.9.7 查看进入当前数据库的用户...............................................................................27 1.9.8 删除数据库多余的账号.......................................................................................27 1.9.9 查看数据库的用户...............................................................................................27 2.0.0 创建 MySQL 用户及赋予用户权限............................................................................27 2.0.1 使用语法:..............................................................................................................27 2.0.2 第一种创建用户及授权方法: ...........................................................................28 2.0.3 第二种创建用户及授权方法: ...........................................................................28 2.0.4 创建用户及授权哪个网段的主机可以连接 oldboy_gbk 库..............................29 2.0.4.1 第一种方法: .............................................................................................29 2.0.4.2 第二种方法: ............................................................................................29 2.0.5 关于 mysql 回收某个用户权限...........................................................................29 2.0.6 企业生产环境如何授权用户权限(mysql 主库) ............................................30 2.1 数据库表操作..................................................................................................................31 2.1.1 以默认字符集 latin1 建库....................................................................................31 2.1.2 建立表并查看表的结构.......................................................................................31 2.1.3 mysql 表的字符类型.............................................................................................32 2.1.3.1 数字类型.....................................................................................................32 2.1.3.2 日期和时间类型.........................................................................................32 2.1.3.3 字符串类型................................................................................................33 2.1.3.4 关于字符类型小结....................................................................................33 2.1.4 为表的字段创建索引...........................................................................................33 2.1.4.1 为表创建主键索引的方法........................................................................33 2.1.4.2 查看 student 表的结构 ..............................................................................34 2.1.4.3 怎么删除一个表的主键............................................................................34 2.1.4.4 利用 alter 命令修改 id 列为自增主键列..................................................34 2.1.4.5 建表后利用 alter 增加普通索引...............................................................34 2.1.4.6 对表字段的前 n 个字符创建普通索引....................................................36 2.1.4.7 为表的多个字段创建联合索引................................................................38 2.1.4.8 为表的多个字段的前 n 个字符创建联合索引........................................38 2.1.4.9 主键也可以联合多列做索引....................................................................39 2.1.5.0 统计一个字段列的唯一值个数................................................................40资源由 www.eimhe.com 美河学习在线收集分享 2.1.5.1 创建唯一索引(非主键) ........................................................................41 2.1.5.2 索引列的创建及生效条件........................................................................42 2.1.5 往表中插入数据...................................................................................................42 2.1.6 往表中删除一条数据...........................................................................................44 2.1.7 查询数据................................................................................................................44 2.1.7.1 查询表的所有数据行................................................................................44 2.1.7.2 查看 mysql 库的用户................................................................................45 2.1.7.3 根据指定条件查询表的部分数据............................................................45 2.1.7.4 根据固定条件查数据................................................................................46 2.1.7.5 指定固定条件范围查数据........................................................................46 2.1.7.6 根据顺序查看列数据................................................................................46 2.1.6.7 在表中根据条件导出数据至文件中........................................................47 2.1.8 多表查询...............................................................................................................47 2.1.8.1 创建学生表................................................................................................47 2.1.8.2 在学生表里插入数据.................................................................................47 2.1.8.3 创建课程表................................................................................................47 2.1.8.4 在课程表里插入数据................................................................................48 2.1.8.5 创建选课表................................................................................................48 2.1.8.6 联表查询命令............................................................................................49 2.1.9 使用 explain 查看 select 语句的执行计划..........................................................49 2.1.9.1 用查询语句查看是否使用索引情况........................................................49 2.1.9.2 为该列创建索引,再用查询语句查看是否走了索引............................50 2.2.0 使用 explain 优化 SQL 语句(select 语句)的基本流程..................................50 2.2.1 用命令抓取慢 SQL 语句,然后用 explain 命令查看查询语句是否走的索 引查询.....................................................................................................................50 2.2.2 设置配置参数记录慢查询语句...................................................................51 2.2.3 对抓取到的慢查询语句用 explain 命令检查索引执行情况 .....................51 2.2.4 对需要建索引的条件列建立索引...............................................................51 2.2.5 切割慢查询日志,去重分析后发给大家...................................................51 2.2.1 修改表中数据.......................................................................................................51 2.2.1.1 修改表中指定条件固定列的数据............................................................51 2.2.2 删除表中的数据...................................................................................................52 2.2.2.1 实践删除表中的数据................................................................................52 2.2.2.2 通过 update 伪删除数据...........................................................................53 2.2.3 增删改表的字段...................................................................................................53 2.2.3.1 命令语法及默认添加演示........................................................................53 2.2.4 更改表名...............................................................................................................55 2.2.5 删除表名...............................................................................................................56 2.2.6 mysql 数据库的备份与恢复.................................................................................56 2.2.6.1 备份单个数据库练习多种参数使用........................................................56 2.2.6.2 查看数据库 oldboy 的内容.......................................................................56 2.2.6.3 执行备份的命令........................................................................................57 2.2.6.4 查看备份的结果........................................................................................57 2.2.6.5 mysqldump 备份时加上-B 参数时的备份,然后比较不加-B 备份的不同资源由 www.eimhe.com 美河学习在线收集分享 .................................................................................................................................57 2.2.6.6 删除数据库中备份过的库 oldboy,然后将备份的数据重新导入数据库 .................................................................................................................................58 2.2.6.7 利用 mysqldump 命令对指定的库进行压缩备份...................................59 2.2.6.8 利用 mysqldump 命令备份多个库(-B 参数后可以指定多个库) ......59 2.2.6.9 分库备份(对 mysql、 oldboy、 oldboy_gbk、 wordpress 库进行备份) .................................................................................................................................60 2.2.7.0 对一个库的多个表备份............................................................................60 2.2.7.1 备份多个表................................................................................................61 2.2.7.2 备份单个表................................................................................................61 2.2.7.3 关于 mysqldump 的参数说明...................................................................61 2.2.7.4 刷新 binglog 的参数..................................................................................62 2.2.7.5 生产场景不同引擎 mysqldump 备份命令...............................................62 2.2.8 恢复数据库实践...................................................................................................63 2.2.8.1 数据库恢复事项........................................................................................63 2.2.8.2 利用 source 命令恢复数据库 ...................................................................63 2.2.8.3 利用 mysql 命令恢复(标准) ................................................................64 2.2.8.4 针对压缩的备份数据恢复........................................................................66 2.2.9 实现和 mysql 非交互式对话...............................................................................66 2.2.9.1 利用 mysql –e 参数查看 mysql 数据库的库名........................................66 2.2.9.2 利用 mysql –e 参数查看 mysql 数据库的线程状态................................66 2.2.9.3 mysql sleep 线程过多的问题案例............................................................66 2.2.9.4 查看 mysql 配置文件有没有在数据库中生效 ........................................67 2.2.9.5 不重启数据库修改数据库参数................................................................68 2.2.9.6 不重启数据库更改数据库参数小结........................................................69 2.3.0 查看 mysql 状态的信息(利用 zabbix 可以监控其状态信息) .......................69 2.3.1 mysqladmin 的命令...............................................................................................75 2.3.2 mysql 工具 mysqlbinlog........................................................................................76 2.3.2.1 mysql 的 binlog 日志是什么? ..................................................................76 2.3.2.2 mysql 的 binlog 日志作用是什么? ..........................................................76 2.3.2.3 mysqlbinlog 工具解析 binlog 日志实践....................................................76 2.3.2.4 解析指定库的 binlog 日志........................................................................76 2.3.3 mysql 数据库的服务日志.....................................................................................77 2.3.3.1 错误日志(error log)介绍与调整..........................................................77 2.3.3.2 普通查询日志(general query log)介绍与调整(生产环境中不用) 77 2.3.3.3 慢查询日志介绍与调整............................................................................78 2.3.3.4 二进制日志介绍与调整............................................................................78 2.3.4 mysql 的 binlog 有三种模式.................................................................................78 2.3.4.1 row level......................................................................................................78 2.3.4.2 statement level(默认) ..................................................................................79 2.3.4.3 Mixed ..........................................................................................................79 2.3.5 企业场景如何选择 binlog 的模式.......................................................................79 2.3.6 设置 mysql binlog 的格式....................................................................................79 2.3.7 mysql 生产备份实战应用指南.............................................................................80资源由 www.eimhe.com 美河学习在线收集分享 2.3.7.1 全量备份....................................................................................................80 2.3.7.2 增量备份....................................................................................................80 2.3.7.3 企业场景和增量的频率是怎么做的? ....................................................81 2.3.7.4 mysql 增量恢复必备条件..........................................................................81 2.3.7.5 实战模拟凌晨 00 点对 oldboy库做个全备,早上 10 点左右删除了 oldboy 库,下面是其恢复过程.........................................................................................81 2.3.7.6 实战模拟凌晨 00 点对 oldboy库做个全备,早上 10 点左右更新了 oldboy 库的 test 表中所有字段数据,下面是其恢复过程(update 表中的数据的时候, 把表中的字段换成了一个相同的内容,这时候要停库) .................................83 2.3.8 mysql 的主从复制的结构图.................................................................................85 2.3.8.1 单向的主从复制图,此架构只能在 master 端进行数据写入(生产环境 可以使用) .............................................................................................................85 2.3.8.2 双向的主主同步逻辑图,此架构可以在 master1 端或 master2 端进行数 据写入(生产环境不建议使用) .........................................................................85 2.3.8.3 线性级联单向双主同步逻辑图,此架构只能在 master1 端进行数据写入 (生产环境可以使用) .........................................................................................86 2.3.8.4 环状级联单向多主同步逻辑图,任意一个都可以写入数据(生产环境 不建议使用) .........................................................................................................86 2.3.8.5 环状级联单向多主多从同步逻辑图,此架构只能在任意一个 master 端 进行数据写入(生产环境不建议使用) .............................................................86 2.3.9 mysql 主从复制的原理.........................................................................................86 2.4.0 mysql 主从复制的原理图.....................................................................................87 2.4.1 mysql 主从复制的实践.........................................................................................87 2.4.1.1 环境准备....................................................................................................87 2.4.1.2 分别查看 3306 和 3307 不同数据库有哪些库........................................87 2.4.1.3 全量备份 3306 数据库的库,然后到 3307 数据库中............................88 2.4.1.4 在 3306 数据库上授权用户可以到 3306 数据库上复制 binlog.............89 2.4.1.5 在 3307 数据库上开启复制 3306 的 binlog 开关,并查看是否处于同步 状态.........................................................................................................................89 2.4.1.6 在 3306 上创建数据库 zhangxuan,看 3307 上是否同步过来..............91 2.4.2 关于主从复制出现故障怎么解决.......................................................................92 2.4.3 主从复制延迟问题原因及解决方案...................................................................92 2.4.3.1 一个主库的从库太多,导致复制延迟....................................................92 2.4.3.2 从库硬件比主库差,导致复制延迟........................................................92 2.4.3.3 慢 SQL 语句过多 ......................................................................................92 2.4.3.4 主从复制的设计问题................................................................................93 2.4.3.5 主从库之间的网络延迟............................................................................93 2.4.3.6 主库读写压力大,导致复制延迟............................................................93 2.4.4 通过 read-only 参数让从库只读访问..................................................................93 2.4.5 web 用户专业设置方案: mysql 主从复制读写分离集群..................................93 2.4.6 让 mysql 从库记录 binlog 日志方法...................................................................94 2.4.7 mysql 主从复制集群架构的数据备份策略.........................................................94 2.4.8 mysql 一主多从,主库宕机,从库怎么接管.....................................................95 2.4.8.1 半同步从库(谷歌半同步插件 5.5 版本自带) .....................................95资源由 www.eimhe.com 美河学习在线收集分享 2.4.8.2 S1,啥也不干只做同步的从库, 500 台服务器,百度..........................95 2.4.8.3 皇帝驾崩现选(耽误事,容易被篡位) ................................................95 2.4.9 事务介绍...............................................................................................................97 2.4.9.1 事务的四大特性(ACID) ......................................................................97 2.4.9.2 事务的开启................................................................................................97 2.4.9.3 事物的实现................................................................................................98 2.5.0 mysql 引擎概述.....................................................................................................98 2.5.0.1 什么是存储引擎? ....................................................................................98 2.5.0.2 mysql 存储引擎的架构..............................................................................99 2.5.0.3 myisaw 引擎介绍 .......................................................................................99 2.5.0.4 myisaw 引擎特点 .......................................................................................99 2.5.1 myisaw 引擎调忧精要 ........................................................................................100 2.5.2 innodb 引擎..........................................................................................................100 2.5.2.1 什么是 innodb 引擎? .............................................................................100 2.5.2.2 innodb 引擎特点.......................................................................................101 2.5.2.3 innodb 引擎适应的生产业务场景...........................................................102 2.5.2.4 关于 innodb 引擎的一些参数设置.........................................................102 2.5.2.5 innodb 引擎调忧精要...............................................................................102 2.5.3 有关 mysql 引擎特别说明.................................................................................103 2.5.4 关于 mysql 的字符集.........................................................................................103 2.5.4.1 mysql 常见的字符集? ............................................................................103 2.5.4.2 mysql 如何选择合适的字符集? ............................................................103 2.5.4.3 如何查看字符集......................................................................................103 2.5.4.4 不同字符集参数的含义如下(要想数据库字符不乱码,下面几个字符 集要相同) ...........................................................................................................104 2.5.4.5 set names 字符集名,此命令有什么作用 .............................................105 2.5.4.6 根据配置文件更改客户端字符集..........................................................105 2.5.4.7 更改 mysql 服务端的字符集..................................................................106 2.5.4.8 怎么解决乱码问题..................................................................................106 2.5.4.9 插入数据不乱码的方法..........................................................................106 2.5.5.0 更改数据库的字符集..............................................................................106 2.5.5.1 更改表的字符集......................................................................................106 2.5.6 模拟将 latin1 字符集的数据库修改成 UTF8 字符集的实际过程 ..................107
1. 什么是MySQL? MySQL是一个开源的关系型数据库管理系统(RDBMS),它支持多用户、多线程、多表等功能,广泛应用于Web应用程序的数据管理。 2. MySQL的常见存储引擎有哪些? MySQL的常见存储引擎包括InnoDB、MyISAM、Memory、CSV、Blackhole、Archive等。 3. 如何优化MySQL性能? 优化MySQL性能需要从多个方面入手,包括以下几个方面: - 优化查询语句,避免全表扫描和使用过多的子查询,尽量使用索引; - 适当调整MySQL的参数配置,如缓存大小、连接数等; - 使用合适的存储引擎; - 分析慢查询日志,找出慢查询并进行优化; - 定期清理无用的数据和索引。 4. MySQL的主从同步是什么? MySQL的主从同步是指将一个MySQL服务器作为主服务器,将其它MySQL服务器作为从服务器,主服务器上的数据更改会被同步到从服务器上,从而保证数据的一致性和可用性。 5. 如何进行MySQL主从同步配置? MySQL主从同步配置需要以下几个步骤: - 在主服务器上创建一个可同步的用户,并授予该用户同步数据的权限; - 在从服务器上进行配置,包括设置主服务器的IP地址、同步用户的用户名和密码等; - 启动主服务器上的binlog功能,将数据修改操作写入二进制文件中; - 在从服务器上启动slave进程,开始同步数据。 6. 如何备份和恢复MySQL数据库? 备份MySQL数据库可以使用以下几种方式: - 使用mysqldump命令备份,将数据导出为文本格式; - 使用MySQL自带的数据备份工具,如mysqlbackup、mysqlhotcopy等; - 使用第三方备份工具,如xtrabackup等。 恢复MySQL数据库可以使用以下几种方式: - 使用mysql命令行工具,将备份文件导入到MySQL服务器中; - 使用第三方恢复工具,如xtrabackup等。 7. 如何创建MySQL用户和授权? 创建MySQL用户可以使用以下命令: CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; 授权MySQL用户可以使用以下命令: GRANT privileges ON database.table TO 'username'@'localhost'; 其中,privileges为用户的操作权限,如SELECT、INSERT、UPDATE等;database.table为授权的数据库和表名;'username'@'localhost'为被授权的用户和主机名。
# MySQL配置文件 # # 以下是MySQL服务器的标准配置文件,您可以将其作为模板使用。 # 请不要修改此文件,而是将更改保存到自己的配置文件中。 # 设置MySQL安装目录 basedir = D:\DevSoftware\mysql-8.0.17-winx64 # 设置MySQL数据存储目录 datadir = D:\DevSoftware\mysql-8.0.17-winx64\data # 设置MySQL配置文件目录 # 如果不指定,则默认使用 basedir 目录下的 my.ini # ! 注意:此处的路径不能包含空格和中文 # ! 如果您的MySQL实例已经启动,您需要在更改此项时相应地修改 my.ini 文件的路径 # ! 否则,启动MySQL实例时会无法找到 my.ini 文件 # ! 如果您的MySQL实例已经在运行,您可以使用 SHOW VARIABLES LIKE 'CONFIG_FILE' 命令查看当前配置文件的路径 # ! 或者使用 SHOW VARIABLES LIKE '%datadir%' 命令查看数据目录的路径,然后找到其中的 my.ini 文件 # ! 如果您不确定如何修改配置文件路径,请参考MySQL官方文档 # ! https://dev.mysql.com/doc/refman/8.0/en/option-files.html # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! confdir = /etc/mysql # 设置MySQL错误日志文件路径 # ! 注意:此处的路径不能包含空格和中文 log-error = D:\DevSoftware\mysql-8.0.17-winx64\mysql_error.log # 设置MySQL端口号 port = 3306 # 设置MySQL字符集 # 如果不指定,则默认使用 utf8mb4 character-set-server = utf8mb4 # 设置MySQL最大连接数 # 如果不指定,则默认为 151 max_connections = 500 # 设置MySQL缓冲区大小 # 如果不指定,则默认为 8M # ! 注意:此处的单位是字节 key_buffer_size = 16M # 设置MySQL临时表空间大小 # 如果不指定,则默认为 32M # ! 注意:此处的单位是字节 tmp_table_size = 32M # 设置MySQL查询缓存大小 # 如果不指定,则默认为 0,即不启用查询缓存 query_cache_size = 64M # 设置MySQL最大连接失败次数 # 如果不指定,则默认为 10 max_connect_errors = 100 # 设置MySQL二进制日志文件 # 如果不指定,则默认不启用二进制日志 # ! 注意:此处的路径不能包含空格和中文 # ! 如果启用了二进制日志,建议同时启用 binlog_format = ROW,以提高性能 # ! 另外,建议将 binlog_expire_logs_seconds 设置为合适的值,以避免日志文件过多导致磁盘空间不足 # ! https://dev.mysql.com/doc/refman/8.0/en/binary-log.html # ! https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! log-bin = mysql-bin # 设置MySQL二进制日志格式 # 如果不指定,则默认使用 MIXED,即根据情况自动选择 ROW 或 STATEMENT # ! 注意:在主从复制中,必须保证主从服务器的二进制日志格式一致 # ! https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_format # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! binlog_format = ROW # 设置MySQL二进制日志过期时间 # 如果不指定,则默认为 0,即不自动删除过期日志文件 # ! 注意:此处的单位是秒 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_binlog_expire_logs_seconds # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! binlog_expire_logs_seconds = 2592000 # 设置MySQL从服务器ID # 如果不指定,则默认为 0,即不启用主从复制 # ! 注意:此处的值必须和主服务器的 server_id 不同 # ! https://dev.mysql.com/doc/refman/8.0/en/replication-options.html#sysvar_server_id # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! server_id = 2 # 设置MySQL从服务器复制的数据库 # 如果不指定,则默认复制所有数据库 # ! https://dev.mysql.com/doc/refman/8.0/en/replication-options-slave.html#sysvar_replicate_do_db # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! replicate_do_db = test # 设置MySQL从服务器复制的数据表 # 如果不指定,则默认复制所有数据表 # ! https://dev.mysql.com/doc/refman/8.0/en/replication-options-slave.html#sysvar_replicate_do_table # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! replicate_do_table = test.* # 设置MySQL从服务器复制的忽略数据表 # 如果不指定,则默认不忽略任何数据表 # ! https://dev.mysql.com/doc/refman/8.0/en/replication-options-slave.html#sysvar_replicate_ignore_table # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! replicate_ignore_table = test.log # 设置MySQL从服务器复制的忽略数据库 # 如果不指定,则默认不忽略任何数据库 # ! https://dev.mysql.com/doc/refman/8.0/en/replication-options-slave.html#sysvar_replicate_ignore_db # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! replicate_ignore_db = mysql # 设置MySQL从服务器复制的过滤规则 # 如果不指定,则默认不启用过滤规则 # ! https://dev.mysql.com/doc/refman/8.0/en/replication-options-slave.html#sysvar_replicate_wild_do_table # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! replicate_wild_do_table = test.% # 设置MySQL从服务器复制的过滤规则 # 如果不指定,则默认不启用过滤规则 # ! https://dev.mysql.com/doc/refman/8.0/en/replication-options-slave.html#sysvar_replicate_wild_ignore_table # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! replicate_wild_ignore_table = test.% # 设置MySQL从服务器复制的忽略语句 # 如果不指定,则默认不忽略任何语句 # ! https://dev.mysql.com/doc/refman/8.0/en/replication-options-slave.html#sysvar_slave_skip_errors # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! slave_skip_errors = ddl_exist_errors # 设置MySQL字符集 # 如果不指定,则默认使用 utf8mb4 # ! 注意:此处的字符集必须和客户端的字符集一致,否则可能会出现乱码等问题 # ! https://dev.mysql.com/doc/refman/8.0/en/server-options.html#option_mysqld_client_charset_name # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! default-character-set = utf8mb4 # 设置MySQL默认存储引擎 # 如果不指定,则默认使用 InnoDB # ! 注意:此处的存储引擎必须是已经安装的存储引擎之一 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_storage_engine # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! default-storage-engine = InnoDB # 设置MySQL每次读取数据的行数 # 如果不指定,则默认为 1024 # ! 注意:此项设置对性能有较大影响,需要根据实际情况进行调整 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_join_size # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! max_join_size = 1000000 # 设置MySQL临时文件目录 # 如果不指定,则默认使用 tmpdir 目录 # ! 注意:此处的路径不能包含空格和中文 # ! https://dev.mysql.com/doc/refman/8.0/en/server-options.html#option_mysqld_tmpdir # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! tmpdir = /tmp # 设置MySQL缓存大小 # 如果不指定,则默认为 64M # ! 注意:此处的单位是字节 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_size # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_size = 64M # 设置MySQL缓存最大大小 # 如果不指定,则默认为 0,即不限制缓存大小 # ! 注意:此处的单位是字节 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_limit # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_limit = 1M # 设置MySQL缓存类型 # 如果不指定,则默认为 ON,即启用缓存 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_type # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_type = ON # 设置MySQL缓存最小大小 # 如果不指定,则默认为 0,即不限制缓存大小 # ! 注意:此处的单位是字节 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_min_res_unit # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_min_res_unit = 4096 # 设置MySQL缓存失效时间 # 如果不指定,则默认为 3600,即 1 小时 # ! 注意:此处的单位是秒 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_time_limit # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_time_limit = 30 # 设置MySQL缓存最大大小 # 如果不指定,则默认为 0,即不限制缓存大小 # ! 注意:此处的单位是字节 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_max_size # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_max_size = 0 # 设置MySQL缓存最小大小 # 如果不指定,则默认为 0,即不限制缓存大小 # ! 注意:此处的单位是字节 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_min_res_unit # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_min_res_unit = 0 # 设置MySQL缓存限制 # 如果不指定,则默认为 0,即不限制缓存大小 # ! 注意:此处的单位是字节 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_limit # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_limit = 0 # 设置MySQL缓存是否只读 # 如果不指定,则默认为 OFF,即缓存可读可写 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_wlock_invalidate # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_wlock_invalidate = OFF # 设置MySQL缓存是否只读 # 如果不指定,则默认为 OFF,即缓存可读可写 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_readonly # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_readonly = OFF # 设置MySQL缓存是否更新 # 如果不指定,则默认为 ON,即缓存会自动更新 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_update_blocks # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_update_blocks = ON # 设置MySQL缓存锁 # 如果不指定,则默认为 ON,即启用锁 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_lock_time # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_lock_time = 0 # 设置MySQL缓存锁等待时间 # 如果不指定,则默认为 5000,即 5 秒 # ! 注意:此处的单位是毫秒 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_lock_wait_time # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_lock_wait_time = 5000 # 设置MySQL缓存大小 # 如果不指定,则默认为 0,即不限制缓存大小 # ! 注意:此处的单位是字节 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_size # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_size = 0 # 设置MySQL缓存是否启用 # 如果不指定,则默认为 OFF,即不启用缓存 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_type # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_type = OFF # 设置MySQL缓存是否启用 # 如果不指定,则默认为 OFF,即不启用缓存 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_size # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_size = 0 # 设置MySQL缓存是否启用 # 如果不指定,则默认为 OFF,即不启用缓存 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_type # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_type = OFF # 设置MySQL缓存是否启用 # 如果不指定,则默认为 OFF,即不启用缓存 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_size # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_size = 0 # 设置MySQL缓存是否启用 # 如果不指定,则默认为 OFF,即不启用缓存 # ! https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_cache_type # ! 注意:在修改此项时需要重启MySQL实例才能生效 # ! query_cache_type = OFF # 设置MySQL缓存是否启用 # 如果不指定,则默认为 OFF,即不启用缓存 # ! https://dev.mysql.com/doc/refman/
### 回答1: mysqlbinlog是MySQL自带的二进制日志解析工具,可以将二进制日志解析成原生SQL语句。使用mysqlbinlog可以方便地查看MySQL的二进制日志,了解数据库的操作历史,也可以用于数据恢复和数据同步等方面。具体使用方法可以参考MySQL官方文档。 ### 回答2: mysqlbinlog是MySQL数据库自带的一个工具,用于解析二进制日志文件。二进制日志文件包含了数据库所有的修改操作(如插入、更新、删除)的信息,mysqlbinlog可以将这些信息解析成原生的SQL语句。 使用mysqlbinlog解析成原生SQL的步骤如下: 1. 打开命令行窗口,进入到mysqlbinlog所在的目录。 2. 输入命令mysqlbinlog binlog文件名,其中binlog文件名是待解析的二进制日志文件的名称。 3. mysqlbinlog会将解析后的SQL语句输出到命令行窗口,按照操作的先后顺序依次显示。 4. 可以使用一些参数来对解析过程进行配置,例如-v参数可以输出详细的解析过程,-d参数可以指定要解析的数据库。 解析出来的原生SQL语句可以用于恢复误删的数据,或者用于同步数据库之间的数据。 需要注意的是,mysqlbinlog只能解析二进制日志文件,而无法解析完整的数据库文件。此外,在解析过程中可能会遇到一些错误或警告信息,需要仔细查看并进行相应的处理。 总之,通过mysqlbinlog工具的解析,可以将二进制日志文件中的数据库修改操作还原成原生的SQL语句,方便进行数据恢复和数据同步等操作。 ### 回答3: mysqlbinlog是MySQL数据库中的一个工具,用于解析二进制日志文件(binlog)。它可以将binlog文件解析成原生的SQL语句。 在使用mysqlbinlog解析binlog文件时,我们需要使用命令行工具,并提供binlog文件的路径作为参数。执行命令后,mysqlbinlog会读取binlog文件并将其中的数据解析成原生的SQL语句。这些SQL语句可以包括INSERT、UPDATE、DELETE等操作,用于记录和恢复数据库中的改变。 当我们使用mysqlbinlog解析binlog文件时,可以使用一些选项来定制解析的行为。例如,可以使用"-d"选项来指定要解析的数据库名称,"-t"选项来指定要解析的表名,"-p"选项来指定要解析的起始位置等。 解析后的原生SQL语句可以用于多种用途,例如: 1. 数据库备份和恢复:通过解析binlog文件,我们可以获得数据库所有的操作记录,包括数据的增删改操作。从而可以用这些原生SQL语句来进行数据库的备份和恢复。 2. 数据分析和审核:通过解析binlog文件,我们可以得到数据库中的所有变更操作,可以用于数据分析、审计和性能优化等方面。例如,可以分析某个表的所有更新操作,来寻找性能瓶颈或数据不一致的问题。 需要注意的是,mysqlbinlog只能解析二进制日志中的数据,不能解析纯文本格式的日志文件。此外,解析的过程中可能会涉及到数据库的一些元数据信息,如表结构、索引等,因此在解析之前需确保数据库的元数据信息是正确的。 总之,mysqlbinlog是一个强大的工具,可以将数据库的二进制日志文件解析成原生的SQL语句,方便进行数据备份、恢复、分析和审计等操作。

最新推荐

MySQL Binlog Digger 4.8.0

MySQL Binlog Digger是一个基于图形界面的MySQL Binlog挖掘分析工具,可以为数据恢复提供undo sql回滚语句,它免安装,能对在线binlog与离线binlog进行分析,在选定在线binlog(甚至分析到最新日志)或离线binlog日志...

MySQL误操作后快速恢复数据的方法

摘要: 利用binlog闪回误操作数据。 基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表没了。假如这还是线上环境核心...

python图书管理系统、ui界面、qt,期末作业、毕业设计.zip

计算机类毕业设计源码

springboot流浪动物救助网站(vue)

这是一系列基于Spring Boot框架开发的项目,包括电商平台、学校管理系统、社交网站、图书馆管理系统、旅游规划系统等。这些项目采用现代化技术架构,具备良好的可扩展性和可维护性。 借助Spring Boot框架的功能和生态系统,这些项目实现了用户注册登录、数据管理、后台管理、在线交易、实时通信、数据分析等核心功能。同时,它们支持适应性布局,在不同设备上提供良好用户体验。 这些项目注重通用性和易用性,开发人员可以根据需求进行灵活定制和扩展。同时,提供丰富的文档和示例代码,以帮助开发人员快速上手。 总之,这些基于Spring Boot框架开发的项目广泛适用,旨在提供高效可靠的解决方案,帮助各行各业实现数字化转型和快速发展。

施耐德 5G+PLC 深度融合解决方案白皮书

工业互联网作为新一代信息技术与工业经济深度融合形成的新兴业态和应用模式,是工业 企业实现数字化转型的关键基础设施。5G 作为工业互联网网络的重要组成部分,在各个行业得到蓬勃发展。特别是过去三年,在国家 5G+工业互联网政策的鼓励下,十个工业行业和领域在制造业用户、基础电信运营商和通信企业的生态合作下,5G+工业互联网取得了很多成功案例并开始规模复制。目前 5G 网络开始向与工厂控制层面的 OT 网络深度融合方向拓展,并希望借此改变传统控制系统导致的网络拓扑结构固化及封闭的现状,以提高生产过程的柔性和透明性;通过5G 在工厂全覆盖,实现要素资源全连接,结合工业互联网平台、边缘计算、大数据和工业模型技术,从而大幅度地提高工程和运维效率,降低生产和建设成本。

数据结构1800试题.pdf

你还在苦苦寻找数据结构的题目吗?这里刚刚上传了一份数据结构共1800道试题,轻松解决期末挂科的难题。不信?你下载看看,这里是纯题目,你下载了再来私信我答案。按数据结构教材分章节,每一章节都有选择题、或有判断题、填空题、算法设计题及应用题,题型丰富多样,共五种类型题目。本学期已过去一半,相信你数据结构叶已经学得差不多了,是时候拿题来练练手了,如果你考研,更需要这份1800道题来巩固自己的基础及攻克重点难点。现在下载,不早不晚,越往后拖,越到后面,你身边的人就越卷,甚至卷得达到你无法想象的程度。我也是曾经遇到过这样的人,学习,练题,就要趁现在,不然到时你都不知道要刷数据结构题好还是高数、工数、大英,或是算法题?学完理论要及时巩固知识内容才是王道!记住!!!下载了来要答案(v:zywcv1220)。

语义Web动态搜索引擎:解决语义Web端点和数据集更新困境

跟踪:PROFILES数据搜索:在网络上分析和搜索数据WWW 2018,2018年4月23日至27日,法国里昂1497语义Web检索与分析引擎Semih Yumusak†KTO Karatay大学,土耳其semih. karatay.edu.trAI 4 BDGmbH,瑞士s. ai4bd.comHalifeKodazSelcukUniversity科尼亚,土耳其hkodaz@selcuk.edu.tr安德烈亚斯·卡米拉里斯荷兰特文特大学utwente.nl计算机科学系a.kamilaris@www.example.com埃利夫·尤萨尔KTO KaratayUniversity科尼亚,土耳其elif. ogrenci.karatay.edu.tr土耳其安卡拉edogdu@cankaya.edu.tr埃尔多安·多杜·坎卡亚大学里扎·埃姆雷·阿拉斯KTO KaratayUniversity科尼亚,土耳其riza.emre.aras@ogrenci.karatay.edu.tr摘要语义Web促进了Web上的通用数据格式和交换协议,以实现系统和机器之间更好的互操作性。 虽然语义Web技术被用来语义注释数据和资源,更容易重用,这些数据源的特设发现仍然是一个悬 而 未 决 的 问 题 。 流 行 的 语 义 Web �

centos7安装nedit

### 回答1: 你可以按照以下步骤在 CentOS 7 上安装 nedit: 1. 打开终端并切换到 root 用户。 2. 运行以下命令安装 EPEL 存储库: ``` yum install epel-release ``` 3. 运行以下命令安装 nedit: ``` yum install nedit ``` 4. 安装完成后,你可以在终端中运行以下命令启动 nedit: ``` nedit ``` 如果你想打开一个文件,可以使用以下命令: ``` nedit /path/to/file

TFT屏幕-ILI9486数据手册带命令标签版.pdf

ILI9486手册 官方手册 ILI9486 is a 262,144-color single-chip SoC driver for a-Si TFT liquid crystal display with resolution of 320RGBx480 dots, comprising a 960-channel source driver, a 480-channel gate driver, 345,600bytes GRAM for graphic data of 320RGBx480 dots, and power supply circuit. The ILI9486 supports parallel CPU 8-/9-/16-/18-bit data bus interface and 3-/4-line serial peripheral interfaces (SPI). The ILI9486 is also compliant with RGB (16-/18-bit) data bus for video image display. For high speed serial interface, the ILI9486 also provides one data and clock lane and supports up to 500Mbps on MIPI DSI link. And also support MDDI interface.

数据搜索和分析

跟踪:PROFILES数据搜索:在网络上分析和搜索数据WWW 2018,2018年4月23日至27日,法国里昂1485表征数据集搜索查询艾米莉亚·卡普尔扎克英国南安普敦大学开放数据研究所emilia. theodi.org珍妮·坦尼森英国伦敦开放数据研究所jeni@theodi.org摘要在Web上生成和发布的数据量正在迅速增加,但在Web上搜索结构化数据仍然存在挑战。在本文中,我们探索数据集搜索分析查询专门为这项工作产生的通过众包-ING实验,并比较它们的搜索日志分析查询的数据门户网站。搜索环境的变化以及我们给人们的任务改变了生成的查询。 我们发现,在我们的实验中发出的查询比数据门户上的数据集的搜索查询要长得多。 它们还包含了七倍以上的地理空间和时间信息的提及,并且更有可能被结构化为问题。这些见解可用于根据数据集搜索的特定信息需求和特征关键词数据集搜索,�