问题标签 [binary-log]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - MySQL 中的二进制日志记录
这是我的.ini
我正在尝试对 mysql 数据库进行二进制日志记录。
请建议我在 MySQL 版本 5.5.16 中启用二进制日志记录
mysql - mysql:需要避免在二进制日志上存储临时表
在mysql上,我有两个数据库“parque_test”和“tabelas_temporais”,并且二进制日志被激活。
修改属于“parque_test”的 InnoDB 表的每个操作都记录在二进制日志中。但是,“parque_test”具有使用临时表来检索结果的存储过程(它们不用于执行更新、删除或插入)。
为了避免在 bin 日志中记录临时表的活动,我设置了“/etc/mysql/my.cnf”文件,以便 mysql 在“parque_test”上注册除“tabelas_temporais”之外的所有活动。
cat /etc/mysql/my.cnf"
...
#log_bin = /var/log/mysql/mysql-bin.log
log_bin=/mysql-log/bin-log
binlog_do_db=parque_test
binlog_do_db=parque_prod
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
binlog_ignore_db=tabelas_temporais
...
所有临时表都是在“tabelas_temporais”模式上创建的;但是,二进制日志仍会记录“tabelas_temporais”上的活动,例如,当执行来自“parque_test”的存储过程时,包含如下命令
DROP TEMPORARY TABLE IF EXISTS tabelas_temporais.temp_mod_user;
任何帮助将非常感激!
mysql Ver 14.14 Distrib 5.5.40,适用于使用 readline 6.2 的 debian-linux-gnu (x86_64)
mysql - MySQL 二进制日志位置 Windows 2008 Server
我正在运行带有 IIS、PHP 和 MySQL 的 Windows 2008 服务器。MySQL 作为服务安装。服务器上有软件使用我需要良好备份的数据库,包括事务日志记录。我通过在 my.ini 文件中设置log-bin=和expire_logs_days=打开了二进制日志记录。这会将这些日志保存在该驱动器上的 MySQL 数据文件夹中。如果我丢失了驱动器,我就会丢失我的日志,并且它们对我的备份没有任何好处。
我已经找到了在 Linux 机器上重新定位这些日志的各种建议,但是尝试使用在 log-bin 语句中包含路径的相同想法是行不通的。在将 Linux“翻译”到 Windows 时,我尝试过“翻转”斜杠、添加引号和其他常见的尝试。
我创建了一个映射到外部位置的驱动器以使这更容易,并且我尝试使用 \server\folder 路径语句以及 z:\ 路径语句。
任何帮助将不胜感激。
mysql - 无法将二进制日志应用到亚马逊 RDS
我正在尝试从 EC2 mysql(percona galera) 迁移到 rds mysql,但遇到了一些问题。初始导入效果很好,但之后我在尝试应用剩余的二进制日志时遇到了问题。
创建binlog sql的命令:
导入命令的输出:
文件中第 9 行的错误 1227 (42000):“binlog.sql”:访问被拒绝;您需要(至少一个)超级权限才能执行此操作
binlog.sql 第 9 行(BINLOG ')的片段是发生错误的地方:
我们如何解决这个问题,以便在迁移过程中对业务影响最小?复制也不是一个选项,因为 GTID 用于 master(ec2) 端,而亚马逊不支持这一点。
提前感谢你的帮助!
mysql - 数据库版本控制使用哪个工具?liquibase vs mysql 二进制日志
我正在尝试构建一个重构、测试和部署我的数据库的过程。经过某种研究,我发现liquibase是管理我的数据库版本的好工具。类似的工作也可以只用mysql 二进制日志来完成。
你能告诉我 liquibase 在 mysql 二进制日志之上有什么好处吗?
php - 如何从 MySQL 二进制日志中删除特定查询
所以我有一个二进制日志,由于一些编写不佳的代码每秒左右为当前登录的每个用户更新一个表,所以我有一个需要永远恢复的二进制日志。当然,恢复过程正在恢复这些行中的每一行并制作脚本花费比它需要的时间更长的时间。
更新此文件以从我的所有二进制日志中删除该特定查询的最快方法是什么?我有这个我测试过的 PHP 脚本,它适用于一个较小的文件,但preg_replace
在文件大小方面似乎有一些限制(或者可能只是整个 PHP)。
这是我的 PHP 行:
那里的正则表达式似乎适用于较小的文件,只是我对任何其他语言(PHP 是我的主要语言)都不了解我应该使用什么,或者如何将正则表达式实现为某种东西别的。
mysql - MySQL 二进制日志记录防止写入事务 - Bitnami
我正在尝试在 Bitnami 准备的 VM 上配置 MySQL 以进行复制(不要与 MySQL With Replication from Bitnami 混淆),并且我的二进制日志记录存在问题。
当我添加该行log-bin = mysql-bin
或log_bin = mysql-bin
在 my.cnf 文件下添加时[mysqld]
,一切都会保存并且 MySQL 重新启动就好了。但是当我测试我的应用程序时,只有读取事务在工作。编辑或创建新内容失败。
我还没有找到另一个我与之冲突的 cnf 文件,并且确实出现了 bin 日志。但是似乎发生了一些我过去在配置其他 MySQL 服务器时没有遇到过的奇怪效果。
有人知道发生了什么吗?
mysql - 复制忽略数据库或复制忽略表如何在内部工作?
在 MySQL 复制中,我们有复制过滤器:
这些过滤器用于忽略从服务器上复制的数据库/表。在创建中继日志的过程中,从服务器检查规则并忽略这些选项中存在的db/table,并且不将其写入中继日志。
所以我的问题是:从服务器是读取二进制日志并仅忽略主服务器上的数据库/表,还是所有日志都传输到从服务器,然后从服务器忽略那些数据库/表?
因为我担心我有大量的二进制日志,因为只有一个大的审计表。我不想复制它,但想创建它的二进制日志。现在存在通过网络传输大型二进制日志的问题。所以我想知道从属服务器上的整个二进制日志传输,然后检查主服务器上检查的过滤器或过滤器,然后只传输所需的日志?
谢谢
mysql - MySQL binlogs 中设置的时间戳是什么时候
我已经搜索了以前的问题,但找不到与我的问题完全匹配的问题:
在查询事务期间的什么时候设置二进制日志时间戳,然后写入二进制日志?
上下文:我一直在使用使用主/从复制的数据库。从属服务器经常落后于主服务器,我敢肯定这仅仅是因为二进制日志中有很多事务共享相同的时间戳。当我说很多时,我说的是 1 小时日志中属于 9000 多个条目的 150 多个时间戳(加上返回的 9000 个条目以下的其余部分)。这是使用以下方法发现的:
因此,我基本上是在尝试测试共享时间戳的事务数量是否反映了主服务器上的工作负载,以及这些数字是否异常。
在绘制 Second_behind_master 时,它显示线性增长,然后突然下降,这似乎暗示了同样的事情。
MySQL 版本是 5.6.33。
mysql - MySQL binary_log 中的 SELECT 查询
我正在尝试验证数据库历史记录。为此,我需要记录和解析对数据库的读写访问。
我知道 MySQL 主要提供两种类型的日志 -general query log
和binary log
. 一般查询日志对我没有帮助,因为它不记录结束时间戳。然而,二进制日志非常适合我的工作,但它不记录读取访问,即 SELECT
查询。
所以我想知道是否有一种方法可以强制二进制日志记录,以便它也记录非修改查询。