Mysql配置服务器

官网地址:MySQL :: MySQL 5.7 Reference Manual :: 5.1.1 Configuring the Server

欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯.

MySQL 5.7 参考手册 / ... / 配置服务器

5.1.1 配置服务器

MySQL 服务器mysqld有许多命令选项和系统变量,可以在启动时设置它们来配置其操作。要确定服务器使用的默认命令选项和系统变量值,请执行以下命令:

language-terminal 复制代码
$> mysqld --verbose --help

该命令生成所有mysqld选项和可配置系统变量 的列表 。其输出包括默认选项和变量值,如下所示:

language-terminal 复制代码
abort-slave-event-count           0
allow-suspicious-udfs             FALSE
archive                           ON
auto-increment-increment          1
auto-increment-offset             1
autocommit                        TRUE
automatic-sp-privileges           TRUE
avoid-temporal-upgrade            FALSE
back-log                          80
basedir                           /home/jon/bin/mysql-5.7/
...
tmpdir                            /tmp
transaction-alloc-block-size      8192
transaction-isolation             REPEATABLE-READ
transaction-prealloc-size         4096
transaction-read-only             FALSE
transaction-write-set-extraction  OFF
updatable-views-with-limit        YES
validate-user-plugins             TRUE
verbose                           TRUE
wait-timeout                      28800

要查看服务器运行时实际使用的当前系统变量值,请连接到它并执行以下语句:

language-sql 复制代码
mysql> SHOW VARIABLES;

要查看正在运行的服务器的一些统计和状态指示器,请执行以下语句:

language-sql 复制代码
mysql> SHOW STATUS;

系统变量和状态信息也可以使用mysqladmin命令 获得 :

language-terminal 复制代码
$> mysqladmin variables
$> mysqladmin extended-status

有关所有命令选项、系统变量和状态变量的完整说明,请参阅以下部分:

性能架构中提供了更详细的监控信息;请参阅第 25 章,MySQL 性能架构。此外,MySQL sysschema 是一组对象,可以方便地访问 Performance Schema 收集的数据;请参阅第 26 章,MySQL sys 架构

MySQL 使用非常可扩展的算法,因此通常可以用很少的内存来运行。然而,通常为 MySQL 提供更多内存会带来更好的性能。

调整 MySQL 服务器时,要配置的两个最重要的变量是key_buffer_sizetable_open_cache。在尝试更改任何其他变量之前,您应该首先确信自己已正确设置这些变量。

以下示例指示了不同运行时配置的一些典型变量值。

  • 如果您至少有 1-2GB 内存和许多表,并且希望在适度数量的客户端上获得最大性能,请使用如下内容:

    language-terminal 复制代码
    $> mysqld_safe --key_buffer_size=384M --table_open_cache=4000 \
               --sort_buffer_size=4M --read_buffer_size=1M &
  • 如果你只有 256MB 内存和几个表,但你仍然要做很多排序,你可以使用这样的东西:

    language-terminal 复制代码
    $> mysqld_safe --key_buffer_size=64M --sort_buffer_size=1M

    如果有很多并发连接,则可能会出现交换问题,除非mysqld已配置为每个连接使用很少的内存。 如果您有足够的内存用于所有连接, mysqld 的性能会更好。

  • 如果内存很少但连接很多,请使用如下所示的内容:

    language-terminal 复制代码
    $> mysqld_safe --key_buffer_size=512K --sort_buffer_size=100K \
               --read_buffer_size=100K &

    甚至是这个:

    language-terminal 复制代码
    $> mysqld_safe --key_buffer_size=512K --sort_buffer_size=16K \
               --table_open_cache=32 --read_buffer_size=8K \
               --net_buffer_length=1K &

如果您正在对远大于可用内存的表 执行GROUP BY或 操作,请增加 的值以加快排序操作后行的读取速度。 ORDER BYread_rnd_buffer_size

如果您在命令行上为 mysqldmysqld_safe指定一个选项,则该选项仅对服务器的该调用有效。要在服务器每次运行时使用该选项,请将其放入选项文件中。请参见第 4.2.2.2 节"使用选项文件"

相关推荐
李白客3 小时前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
ClouGence5 小时前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将8 小时前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils1 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波1 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
Jim6002 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
GreatSQL2 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql
倔强的石头_2 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_5 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库