小编Rol*_*DBA的帖子

在具有活动读写的实时系统上执行 mysqldump 的最安全方法?

我不确定这是否属实,但我记得读过你是否在 linux 中运行以下命令

mysqldump -u username -p database_name > backup_db.sql
Run Code Online (Sandbox Code Playgroud)

在对数据库进行读取和写入时,转储可能包含错误。

命令中是否有特定选项mysqldump可确保在实时系统上安全完成此操作?我可以对我们的用户禁用读/写几秒钟(数据库 <50MB)

mysql mysqldump backup linux

99
推荐指数
2
解决办法
16万
查看次数

何时使用 TINYINT 而不是 INT?

一般来说,我总是使用 Ints。我知道理论上这不是最佳实践,因为您应该使用保证存储数据的最小数据类型。

例如,tinyint当您知道将存储的唯一数据是 1、0 或 null(以后将其扩展为 2 或 3 的可能性很小)时,最好使用。

但是,我知道这样做的唯一原因是出于存储目的——在一行中使用 1 个字节而不是 4 个字节。

除了节省硬盘空间之外,仅使用tinyintsmallint甚至bigint)会产生什么影响int

sql-server database-theory

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

在固定大小的字段上使用 CHAR 与 VARCHAR 对性能有何影响?

我有一个存储 MD5 哈希的索引列。因此,该列将始终存储 32 个字符的值。无论出于何种原因,它都是作为 varchar 而不是 char 创建的。迁移数据库以将其转换为字符是否值得?这是在带有 InnoDB 的 MySQL 5.0 中。

mysql innodb performance varchar

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

使用 innodb_flush_log_at_trx_commit = 2 是否安全

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

mysql innodb performance

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

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

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

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

mysql innodb myisam mysqldump mysql-5.5

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

MySQL VARCHAR 大小的性能影响

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

mysql performance datatypes varchar

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

如何在 MySQL 中导入 .sql 文件?

我正在尝试使用 MySQL Workbench 导入 .sql 文件,但出现此错误:

ERROR 1046 (3D000) at line 28: No database selected
Run Code Online (Sandbox Code Playgroud)

我首先创建了一个与 .sql 文件同名的空数据库,但它不起作用。我还尝试使用 mysql 命令客户端来做到这一点:

mysqldump -u root database > file.sql 
Run Code Online (Sandbox Code Playgroud)

但它说我的 SQL 语法有错误。此外,我不知道必须设置file.sql 的路径。

mysql mysqldump import

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

用不同的名称恢复mysql数据库

我们如何从 mysqldump 文件中恢复不同名称的 mysql 数据库。我不想打开转储文件并对其进行编辑。还有其他更好的方法吗?

mysql mysql-5 mysqldump backup restore

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

使用 log_bin 变量禁用 MySQL 二进制日志记录

某些使用 APT 的 debian 包安装的默认 MySQL 配置文件 /etc/mysql/my.cnf 经常设置 log_bin 变量,因此启用了 binlog:

log_bin = /var/log/mysql/mysql-bin.log
Run Code Online (Sandbox Code Playgroud)

当我想在这样的安装上禁用二进制日志记录时,当然注释掉 my.cnf 中的行,但我想知道是否有办法通过将 log_bin 显式设置为 OFF 来禁用二进制日志记录,在 debian 风格中,我的意思是在一个包含文件,如 /etc/mysql/conf.d/myCustomFile.cnf,因此默认 my.cnf 不会更改,如有必要,可以通过 apt 轻松更新。

我试过“log_bin = 0”、“log_bin = OFF”或“log_bin =”,但没有一个有效......

mysql logs binlog debian

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