小编Rol*_*DBA的帖子

面对有点乱序的插入,innodb 的碎片有多严重?

假设 (field1, field2) 上有一个复合主键

另外,让 X 是一组理论的 n 个数字

插入看起来像这样:

INSERT INTO table(field1, field2)
VALUES([a number picked at random from X], [an incrementing number]);
Run Code Online (Sandbox Code Playgroud)

每插入 m 个数字,从 X 中随机删除一个数字,并随机添加另一个数字。

假设 n=1000 和 m=500。换句话说,每插入 500 次,集合 X 中的一个元素就会改变,但集合 X 总是有 1000 个元素。

B+树会变得多么支离破碎?

mysql innodb

6
推荐指数
1
解决办法
1661
查看次数

MySQL 5.6.8 中的 my-*.cnf 发生了什么?

在 MySQL 5.6.7 之前,官方 RPM附带这些文件:

/usr/share/mysql/my-innodb-heavy-4G.cnf
/usr/share/mysql/my-medium.cnf
/usr/share/mysql/my-huge.cnf
/usr/share/mysql/my-large.cnf
/usr/share/mysql/my-small.cnf
Run Code Online (Sandbox Code Playgroud)

在5.6.8中,这些文件都没有了,只剩下一个:

/usr/share/mysql/my-default.cnf
Run Code Online (Sandbox Code Playgroud)

我不是 MySQL 调优专家,过去总是以my-innodb-heavy-4G.cnf. 现在我只剩下一个配置选项:

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
Run Code Online (Sandbox Code Playgroud)

调整这个变量是大多数优化的关键,还是在安装新服务器时我应该调整其他相关参数?

在这种情况下,我在哪里可以找到等效的文件,该文件将包含仅 InnoDB 的 4GB RAM 专用 MySQL 服务器的合理默认值?

mysql my.cnf

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

将 MySQL 5.0 Master 复制到 5.5 Slave?

我们正在计划一系列服务器/软件升级并且很好奇。

我们有一个运行 MySQL 5.0 的 RHEL5 安装,我们希望将其复制到运行 CentOS 6 和 MySQL 5.5 的新(虚拟化)服务器。然后,将来我们会将 RHEL5 机器撞到 CentOS6 和 MySQL5.5。如果可能,我们希望首先进行此复制。

所以简短的问题是,有没有人尝试将 MySQL 5.0 主服务器复制到 5.5 从服务器?

mysql replication mysql-5.5 mysql-5.0

6
推荐指数
1
解决办法
3351
查看次数

表大小对性能的影响有多大?

假设我有一个包含 2938347 行的 MyISAM 表(以及其他表)。此表仅用于日志记录,不会经常清空。

如果不定期归档或删除这些行,是否保留该表会影响服务器性能?

那么,MySQL 服务器上的表/数据库大小如何,但不经常访问。这些表与经常访问/查询的表共存,我想知道它们是否导致问题。

大流士

mysql myisam performance optimization

6
推荐指数
1
解决办法
3227
查看次数

MySQL Slave Relay Logging 但不记录二进制日志

我有一个主从设置 mysql 5.5,设置很好,除了从站不会二进制日志到标准 mysql-binlog 只到中继日志。我担心这可能是因为我对此事缺乏了解,但我的最终目标是设置另一个以当前奴隶为食的奴隶,然后将两者指向一个主主关系。

我的问题是,虽然我可以在从站上插入一条记录并且主复制位置(在从站上)会改变,但它不会因同一数据库上的从站活动而改变。从站不会将活动转储到两个日志中吗?如果我将辅助从站指向中继日志,那么我的选项是什么?

希望这是有道理的。

我在从站上的 my.ini 设置是这样的,还设置了唯一的服务器 ID 和主机名:

binlog-do-db=our_database  
binlog-ignore-db=mysql  
binlog-ignore-db=test  
replicate-do-db=our_database  
Run Code Online (Sandbox Code Playgroud)

mysql replication logs mysql-5.5 wamp

6
推荐指数
1
解决办法
6513
查看次数

OPTIMIZE TABLE 进度是否有进度指示器?

MySQL 5.1.4x (Windows) | 数据库

我最近从 mySQL 数据库(几十万行)中清除了数据,我打算使用

OPTIMIZE TABLE LOGTABLEFOO1,LOGTABLEFOO2,LOGTABLEFOO3;
Run Code Online (Sandbox Code Playgroud)

为了减少文件系统中的空白空间占用的数据空间。

我担心的是,一旦我开始执行此命令,我将不知道要花多长时间或在此过程中处于什么位置。无论如何我可以确定这些信息吗?据我所知,没有进度指示器。

mysql innodb windows mysql-5.1

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

备份和恢复“mysql”数据库

我使用以下命令备份一些普通数据库:

mysqldump --host=host --user=user --password=passwd --result-file=result.sql -R --single-transaction database_name
Run Code Online (Sandbox Code Playgroud)

我的问题是:我还需要转储“mysql”数据库吗?请注意,在“恢复”它们之后,我将为每个数据库创建新用户。所以我不需要用户信息的“mysql”数据库。

谢谢

mysql mysqldump backup

6
推荐指数
2
解决办法
4891
查看次数

如何从数据库转储单个存储过程

我需要创建一个转储文件,其中包含来自数据库的单个存储过程,而不是所有例程。

我试过这样的事情:

mysqldump -u root -pssmart --skip-triggers --no-create-info --no-data \
    --no-create-db --skip-opt test_fshop SP_ITEM_SALES_REPORT -R \
    > test_fshop_routines.sql 
Run Code Online (Sandbox Code Playgroud)

test_fshop是我的数据库名称,SP_ITEM_SALES是我的 SP。我想要我的 SP 作为 .sql 文件。

mysql mysqldump backup stored-procedures

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

TokuDB 优化表不回收磁盘空间

正在optimize table对我的一个大约 11Gig 大小的表运行命令时,令人惊讶的是,在优化过程完成后,使用的磁盘空间立即增加了 2Gig。我希望优化能够回收空间。

发生了什么?

优化完成后,MySQL CPU 利用率比以前高 2-3 倍,在 24 核机器上平均负载为 18-20。几个小时后,CPU 和平均负载略有下降,但仍高于平时。有没有类似经历的?谢谢。

mysql optimization compression tokudb

6
推荐指数
1
解决办法
2326
查看次数

my.cnf 值不适用 - 在 CentOS LAMP 中优化 MySQL

我检查了 my.cnf 的其他出现,但我只发现了 /etc/my.cnf 出现了一次。

然后,我继续修复我的值,例如 query_cache_size 等。

保存并重新启动后,未应用 my.cnf 中的值。我正在使用 CentOS 5.6、Apache 2 上的 LAMP、MySQL 5.0.77

有什么帮助吗?

我也跑了

[root@veepiz ~]# ps aux | grep mysql
root     16202  0.0  0.1  61220   704 pts/0    D+   03:17   0:00 grep mysql
root     32054  0.0  0.1  63888   536 ?        S    Jul24   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --user=mysql
mysql    32096  6.0  1.6 250592  8352 ?        Sl   Jul24  19:14 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)

这是/etc/init.d/mysqld的内容

#!/bin/bash
#
# mysqld    This shell …
Run Code Online (Sandbox Code Playgroud)

mysql optimization configuration

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