标签: mysql

使用 innodb_flush_log_at_trx_commit = 2 是否安全

我转身innodb_flush_log_at_trx_commit = 2获得了非常快的写入速度。但是在生产网站中使用它安全吗?

mysql innodb performance

63
推荐指数
4
解决办法
11万
查看次数

如何在 MySQL 中交换表?

假设,我有一个 table foo,其中包含一些不时计算的统计信息。它被其他查询大量使用。

这就是为什么我想计算更多最近的统计数据foo_new并在计算准备好时交换它们。

我可以

ALTER TABLE foo RENAME foo_tmp;
ALTER TABLE foo_new RENAME foo;
Run Code Online (Sandbox Code Playgroud)

但是如果在foo没有表的情况下查询需要这两行之间的表会发生foo什么?我想我必须以某种方式锁定它……或者还有其他方法可以做到吗?

mysql alter-table locking

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

MySQL 读取通信数据包时出错

在 MySQL 错误日志中,我看到这些警告很少:

120611 16:12:30 [Warning] Aborted connection 2619503 to db: 'db_name' user: 'user_name' host: 'webapp_hostname' (Got an error reading communication packets)
Run Code Online (Sandbox Code Playgroud)

本身没有注意到任何数据丢失,所以我想知道这个警告是什么意思,或者是什么原因造成的,以及是否可以解决导致这些问题的问题。这是在 RHEL 6.1 和 MySQL Enterprise 5.5 上。

mysql mysql-5.5

60
推荐指数
3
解决办法
15万
查看次数

InnoDB 或 MyISAM 哪个更快?

MyISAM 如何比 InnoDB“更快”,如果

  • MyISAM 需要为数据做磁盘读取吗?
  • InnoDB 对索引和数据使用缓冲池,而 MyISAM 只用于索引?

mysql innodb myisam storage-engine

59
推荐指数
3
解决办法
13万
查看次数

是否可以在 .my.cnf 中为每个数据库或每个主机配置密码

我有以下内容 ~/.my.cnf

[client]
password="somepass"
Run Code Online (Sandbox Code Playgroud)

但这不是我用于连接到的每个 user@host/database 的密码。有没有办法在配置中为不同的东西指定不同的密码,所以我不必输入它们?

mysql configuration

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

为什么 InnoDB 将所有数据库存储在一个文件中?

MyISAM 用于将每个表存储在相应的文件中很方便。InnoDB 在很多方面都取得了进步,但我想知道为什么 InnoDB 将所有数据库存储在一个文件中(ibdata1默认情况下)。

我知道 InnoDB 将通过表的单个索引文件映射文件中数据的位置,但我不明白为什么它将所有数据混合在一个文件中。更重要的是,为什么要混合服务器上所有数据库的数据?

MyISAM 的一个有趣功能是,可以将数据库文件夹复制/粘贴到另一台机器上,然后使用该数据库(无需转储)。

mysql innodb myisam mysqldump mysql-5.5

56
推荐指数
3
解决办法
7万
查看次数

如何授予用户超级权限?

我已经创建了一个用户并赋予了 user1 权限。

`grant all privileges on db1.* to user1@'%' with grant option;
Run Code Online (Sandbox Code Playgroud)

我正在使用 mysql 工作台将转储导入我的数据库。将转储导入数据库 db1 时,发生错误,指出

ERROR 1227 (42000) at line 49: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
Run Code Online (Sandbox Code Playgroud)

在该转储中,所有表均已成功导入,但在将例程导入数据库时​​发生错误。权限有什么问题吗,我已经给了user1。请指教。

mysql mysql-workbench

56
推荐指数
2
解决办法
34万
查看次数

MySQL VARCHAR 大小的性能影响

在 MySQL 中 varchar 大小之间是否存在性能差异?例如,varchar(25)varchar(64000)。如果没有,是否有理由不声明所有具有最大大小的 varchars 以确保您不会用完空间?

mysql performance datatypes varchar

55
推荐指数
6
解决办法
3万
查看次数

为每个客户创建数据库会遇到什么问题?

我从 stackoverflow 播客中记得Fog CreekFogbugz为每个客户使用一个数据库。我认为这意味着 Fogbugz On Demand 服务器拥有数以千计的数据库。

我们刚刚开始开发一个网络应用程序,并有一个类似的问题需要解决(许多客户拥有自己的独立数据)。

使用每个客户的数据库会出现什么问题?我该如何解决它们?

我的初步想法

每个客户数据库的优势

  • 更简单的数据库架构
  • 更简单的备份 - 您可以依次备份每个客户,而不会真正影响其他客户。
  • 可以轻松导出给定的客户数据。
  • 更好的缓存性能 - 写入一个更活跃的表只会影响执行写入的单个客户。
  • 更容易跨硬件扩展。例如,当我们需要从 1 台服务器增加到 2 台服务器时,我们只需将一半的客户转移到新服务器上。

缺点

  • MySQL能应付5000个数据库吗?性能会很差吗?
  • 对架构的更改可能难以复制到所有数据库中。我们真的必须为此制定一个自动化计划,例如对模式进行版本控制,以及一个了解如何将数据库从一个版本转换为另一个版本的脚本。
  • 做我们所有客户共同的事情可能会很尴尬或不可能
  • 与上述类似,但我们想要对所有客户执行的任何分析都可能是不可能的。例如,我们应该如何跟踪所有客户的使用情况?

mysql database-design database-recommendation

55
推荐指数
4
解决办法
4万
查看次数

如何检查与表相关的外键

如何在MySql中查看与表相关的外键?

背景:我想在 MySql 中删除一个具有外键约束的表。当我这样做时,我得到了这个:

Error Code: 1217. Cannot delete or update a parent row: a foreign key constraint fails

如何删除与表相关的外键离开其他人。

mysql foreign-key constraint drop-table

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