标签: my.cnf

如何优化混合 InnoDB 和 MyISAM 表空间的 MySQL 服务器的 my.cnf?

我有一个数据库,由于一些问题,我需要将一些表从 MyISAM 转换为 InnoDB。

我基本上是这样做的:

set sql_log_bin = 0; 

set sql_mode = 'STRICT_ALL_TABLES';

ALTER TABLE  `table1` ENGINE = INNODB;

ALTER TABLE  `table2` ENGINE = INNODB;

ALTER TABLE  `table3` ENGINE = INNODB;

ALTER TABLE  `table4` ENGINE = INNODB;

ALTER TABLE  `table5` ENGINE = INNODB;

ALTER TABLE  `table6` ENGINE = INNODB;
Run Code Online (Sandbox Code Playgroud)

它工作正常,但据我所知,我现在应该重新配置 my.cnf 然后重新启动 mysql 服务器,对吗?

如果服务器同时包含 MyISAM 和 InnoDB 表,我应该如何调整 my.cnf 文件?

mysql innodb myisam my.cnf

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

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.5 InnoDB 不断增长的 CPU - 快疯了

早上好,

我目前面临一个问题,即 CPU 使用率一直上升,直到服务器崩溃。

我已经尝试了在这个论坛和 Percona 上提出的多个最佳实践,已经重新安装了两次服务器。似乎没有任何效果。

该应用程序是一个小脚本,它以非常密集的方式对范围索引执行 SELECT、对主键执行更新以及对 UNIQUE 键执行批量插入。

99.9% 的查询在单个 InnoDB 表上运行。

以下是 mysqltuner.pl 输出(根本没有帮助我):

[--] Reads / Writes: 12% / 88% [--] Total buffers: 4.2G global + 5.0M per thread (100 max threads) [OK] Maximum possible memory usage: 4.7G (59% of installed RAM) [OK] Slow queries: 0% (1/1M) [OK] Highest usage of available connections: 42% (42/100) [OK] Key buffer size / total MyISAM indexes: 128.0M/29.3M [!!] Query cache is disabled [OK] Sorts requiring temporary tables: 0% …

mysql innodb my.cnf mysql-5.5

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

通过 MySQL Workbench 创建和编辑 my.cnf?

我刚刚在干净的 Snow Leopard MacBook 上安装了 MySQL Server 和 MySQL Workbench。我将 Workbench 与服务器连接起来,并能够从 Workbench 内启动 MySQL 服务器。我进入 MySQL Workbench 的管理菜单,它告诉我没有/etc/my.cnf. 如果我单击Workbench 左侧的Option File,它会告诉我,它会my.cnf在点击Apply.

现在我看到了很多配置的可能性。有相关文件吗?我能找到的最好的是这个MySQL-Dev-Page,但它没有多大帮助。

更好的是一个解释性的默认文件,我可以调整它,因为我不是 MySQL 的专家,我只想将 python sqlalchemy 和 django 与 MySQL 服务器一起用作本地主机。

每一个提示都值得赞赏。

mysql mysql-workbench my.cnf configuration mac-os-x

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

用于cnf管理、生成的工具?

有谁知道用于 cnf 配置管理的任何好工具?通常情况下,我有一组具有非常相似配置的机器,除了一些差异(例如服务器 ID 或缓冲池以匹配其特定硬件)。

我正在寻找可以设置通用模板的东西,告诉它我想从该模板为该机器生成一些配置,让它提示我需要填写的变量并为我写出 .cnfs .

mysql my.cnf

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

Mysql全文搜索my.cnf优化

我在https://serverfault.com/questions/353888/mysql-full-text-search-cause-high-usage-cpu 上提出了一个问题一些用户建议在这里提问。

我们建立了一个新闻网站。每天我们都会从web api输入数以万计的数据。

为了提供精准的搜索服务,我们的表使用了MyISAM,建立了全文索引(标题、内容、日期)。我们的网站正在测试 Godaddy VDS,内存为 2GB,空间为 30GB(无交换,因为 VDS 不允许构建交换)。CPU是Intel(R) Xeon(R) CPU L5609 @ 1.87GHz

运行一个 ./mysqltuner.pl

我们得到一些结果:

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.5.20
[OK] Operating on 32-bit architecture with less than 2GB RAM

-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 396M (Tables: 39)
[--] Data in InnoDB tables: 208K (Tables: 8)
[!!] …
Run Code Online (Sandbox Code Playgroud)

mysql myisam full-text-search my.cnf

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

在同一台服务器上安装和启用主从半同步插件

我想运行一个半同步复制设置,为了简单起见,当从站提升为主站时,我不想安装和卸载插件。所以我想知道如果我将体验任何问题安装并启用主机和从机插件(见这里

看起来在安装第二个插件后,两个变量rpl_semi_sync_master_enabledrpl_semi_sync_slave_enabled都被重置为关闭(非默认值)。当我将这些行包含在my.cnf

loose-rpl_semi_sync_master_enabled = 1
loose-rpl_semi_sync_slave_enabled = 1
Run Code Online (Sandbox Code Playgroud)

...并重新启动 MySQL,两个插件都已加载并启用。

这会给我带来任何问题吗?

mysql replication my.cnf semi-sync-replication

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

如何在 MariaDB my.cnf 中设置慢查询日志?

这应该很容易,但是当我放上这些行时:

log_slow_queries = 1
long_query_time = 1
log-slow-queries = /var/log/mysql/slow_query.log
log_queries_not_using_indexes
Run Code Online (Sandbox Code Playgroud)

在 中[mysqld],MariaDB 无法重新启动。

我查看了文档,但无法弄清楚我的配置有什么问题。

另外,我已将文件权限设置为 /var/log/mysql/slow_query.log

# ls -al /var/log/mysql/slow_query.log 
-rw-rw-r-- 1 mysql mysql 744682 Dec  4 23:46 /var/log/mysql/slow_query.log
Run Code Online (Sandbox Code Playgroud)

但是,我可以在命令行中设置参数:

SET GLOBAL slow_query_log_file = '/var/log/mysql/slow_query.log';
SET GLOBAL LONG_QUERY_TIME = 1;
SET GLOBAL slow_query_log = 'ON';
Run Code Online (Sandbox Code Playgroud)

并看到它们已设置:

+---------------------+--------------------------------------------------------------------------------------------------------------+
| Variable_name       | Value                                                                                                        |
+---------------------+--------------------------------------------------------------------------------------------------------------+
| log_slow_filter     | admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk |
| log_slow_rate_limit | 1                                                                                                            |
| log_slow_verbosity  |                                                                                                              |
| slow_launch_time    | 2                                                                                                            |
| slow_query_log      | …
Run Code Online (Sandbox Code Playgroud)

mysql mariadb performance my.cnf mysql-5.6 slow-log

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

innodb_buffer_pool_size 没有改变

我使用 MySQL 5.5.23-1~dotdeb.0 (Debian),这里是 my.cnf 的相关部分

default-storage-engine = innodb
innodb_buffer_pool_size = 3G
innodb_log_file_size = 256M
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 4M
innodb_additional_mem_pool_size = 20M
Run Code Online (Sandbox Code Playgroud)

问题是,无论我为 innodb_buffer_pool_size 选择什么值(我也尝试过 4G 和 8G 以及 8000M)。我得到以下内容mysql> SHOW global VARIABLES;

| innodb_buffer_pool_size | 134217728  
Run Code Online (Sandbox Code Playgroud)

调优入门脚本的结果:

INNODB STATUS
Current InnoDB index space = 621 M
Current InnoDB data space = 3.82 G
Current InnoDB buffer pool free = 0 %
Current innodb_buffer_pool_size = 128 M
Depending …
Run Code Online (Sandbox Code Playgroud)

mysql innodb my.cnf mysql-5.5

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

如何为给定用户设置默认会话 sql_mode?

我想要一个不同于全局 sql_mode 的默认会话 sql_mode。

我可以手动设置,但我想自动设置。

我以为我可以将它添加到.my.cnf,但这不起作用。我尝试将它添加到 中的[mysql]组中.my.cnf,它没有抛出错误。

然而,当我连接会话 sql_mode 时,会话仍然继承全局 sql_mode。

我正在使用 MySQL 5.5.16。

mysql my.cnf

4
推荐指数
1
解决办法
5338
查看次数