相关疑难解决方法(0)

如何将 MySQL 日志输出到 syslog?

我想使用 syslog 在 Ubuntu(10.04 LTS) 上记录 MySQL(5.1.41)。我找到了将错误日志输出到 syslog 的信息。

[mysqld_safe]
syslog
Run Code Online (Sandbox Code Playgroud)

但我想使用 syslog 来记录一般日志和慢查询日志。请教我如何写配置文件?

我在参考手册中找不到如何做到这一点。

http://dev.mysql.com/doc/refman/5.1/en/log-destinations.html

mysql logs

14
推荐指数
1
解决办法
3万
查看次数

我可以有一个 InnoDB master 和 MyISAM slaves with Full-Text 进行搜索吗?

我想在 master 上使用 InnoDB,因为它的事务能力,但 MyISAM 在 slaves 上使用全文搜索能力。这可能吗?

mysql innodb myisam replication full-text-search

8
推荐指数
1
解决办法
2989
查看次数

触发器可以访问查询字符串吗?

我正在考虑在 MySQL (v. 5.1) 中使用触发器作为日志记录机制,因此我希望触发器获取查询字符串以便将其存储在另一个表中。

我在 MySQL 文档中找不到类似的东西,所以我希望答案是否定的——但我仍然希望我忽略了一些东西。

PS:这个问题与IcarusNM 对我的问题“记录 MySQL 数据库更改查询和用户”的回答有关

mysql trigger

5
推荐指数
1
解决办法
4295
查看次数

用于自动创建审计(历史)表和触发器的 MySQL 脚本?

对于监管和欺诈要求,我们需要记录对 DB 中大多数表的每次更改。我们在以前的项目中非常成功地做到这一点的方法是拥有每个表的副本,除了:

  1. 4 个附加列:DateChanged、UserId、Action(创建、更新、删除)和 IP
  2. Id pk 不再是唯一的。
  3. 删除了所有其他约束(FK、唯一索引等)。
  4. 审计表位于单独的审计模式中

在以前的工作中,Oracle DBA 编写了一个脚本来自动生成所有这些,它执行以下操作:

  1. 如果不存在,则创建一个名为审计的新架构
  2. 迭代正常模式中的每个表 t:
    1. 在审计模式中创建了一个具有相同表名的新表,但在它前面加上了 a_ 前缀,例如 a_t
    2. 添加与原始表相同的所有列,以及 4 个附加列(DateChanged、UserId、IP Address 和 Action)
    3. 生成触发器并将其添加到原始表(如果尚未存在)以:
    4. 如果更新,则将新行写入相应的 a_ 表,“更新”操作包含所有列中的预更新(旧)值(主表将具有新值)
    5. 如果删除,添加一行是主表行的副本,但操作 =“删除”。
    6. 如果插入,则将该行添加到审计模式

笔记:

  1. 所有表都有一个 ID PK。
  2. 出于性能考虑或因为不需要而需要排除一些表(例如,由触发器更新的余额表)

该系统的美妙之处在于您可以查询更改的内容和时间,或者谁对哪些内容进行了更改,并查看更改前后的记录。更改发生在 DB 行级别,而不是单个列级别。

有没有人在 MYSQL 5.6 中遇到过这样的事情?我们团队中没有 DBA 可以从头开始编写这样的东西,但我们知道足以修改类似的东西。

mysql audit scripting

5
推荐指数
1
解决办法
1万
查看次数

使用 MySQL 中的一般日志捕获的查询对 MySQL 进行压力测试

有没有可用的工具可以使用MySQL通用日志创建的日志文件进行压力测试?在谷歌上进行了大量搜索后,我发现很少有压力测试工具只使用一些基准进行压力测试。一种解决方案是使用 Apache JMeter,但它不会从 MySQL 日志文件创建测试计划,并且为我拥有的所有查询创建自定义测试计划太耗时了。
或者是否有至少可以从 MySQL 日志创建 .sql 文件的工具?

mysql performance logs scalability performance-testing

2
推荐指数
1
解决办法
6112
查看次数