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 分钟前
redis的命令集合
数据库·redis·缓存
C++ 老炮儿的技术栈23 分钟前
Visual Studio 2022 MFC Dialog 添加Toolbar及Tips提示
服务器·c语言·数据库·c++·ide·算法·visual studio
王立志_LEO30 分钟前
数据库命名规范
mysql
秋难降37 分钟前
Python 知识点详解(二)
数据库·python·正则表达式
悟道|养家1 小时前
数据库性能优化指南:解决ORDER BY导致的查询性能问题( SQL Server )
数据库·性能优化
czhc11400756631 小时前
LINUX79 MYSQL
数据库·mysql
rocksun1 小时前
使用MCP Toolbox for Databases访问数据库
数据库·人工智能·mcp
程序员岳焱2 小时前
MySQL 基础 SQL 优化秘籍:4 大技巧让查询性能飙升!
后端·mysql·性能优化
星晨雪海3 小时前
MySQL安装报错解决
数据库·mysql
好奇的菜鸟9 小时前
Spring Boot 事务失效问题:同一个 Service 类中方法调用导致事务失效的原因及解决方案
数据库·spring boot·sql