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

相关推荐
曹牧5 小时前
Oracle:前缀匹配之REGEXP_LIKE
数据库·oracle
暴躁小师兄数据学院8 小时前
【AI大数据工程师特训笔记】第05讲:关联查询
数据库·sql·oracle
倔强的石头_8 小时前
《Kingbase护城河》——跨平台环境下的数据库联调实战
数据库
lzhdim8 小时前
SQL 入门 17:MySQL 数据类型:从字符串到 JSON 的全面解析
数据库·sql·mysql·json
骄马之死8 小时前
MySQL-InnoDB 核心原理
mysql
杨云龙UP9 小时前
Oracle RAC / ODA 生产环境指定 PDB 启动 SOP
linux·运维·数据库·oracle
kingwebo'sZone9 小时前
在Cent上安装Mysql 8.0的遇到的问题和解决办法
数据库·mysql·adb
幽络源小助理9 小时前
最新知识付费系统网站源码 PC+H5双端 附安装教程 – 幽络源源码网
大数据·数据库
小白考证进阶中9 小时前
Oracle OCP证书报考&考试全指南
数据库·oracle·oracle ocp·ocp认证·oracle认证·甲骨文认证·oracle ocp题库
Leon-Ning Liu10 小时前
【真实经验分享】 ORA-600 [qesmaGetTblSeg1]
数据库·oracle