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 节"使用选项文件"

相关推荐
新法国菜7 分钟前
MySql知识梳理之DDL语句
数据库·mysql
DarkAthena1 小时前
【GaussDB】全密态等值查询功能测试及全密态技术介绍
数据库·gaussdb
ShawnLeiLei1 小时前
2.3 Flink的核心概念解析
数据库·python·flink
石皮幼鸟2 小时前
数据完整性在所有场景下都很重要吗?
数据库·后端
大只鹅3 小时前
Centos7.9 Docker26容器化部署 MySql9.4 一主一从的同步复制部署
mysql·centos
叁沐3 小时前
MySQL 28 读写分离有哪些坑?
mysql
nightunderblackcat4 小时前
新手向:异步编程入门asyncio最佳实践
前端·数据库·python
DarkAthena4 小时前
【GaussDB】使用MySQL客户端连接到GaussDB的M-Compatibility数据库
数据库·mysql·gaussdb
livemetee4 小时前
Flink2.0学习笔记:使用HikariCP 自定义sink实现数据库连接池化
大数据·数据库·笔记·学习·flink
XXD啊4 小时前
Redis 从入门到实践:Python操作指南与核心概念解析
数据库·redis·python