Mysql Server配置

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

$> mysqld --verbose --help

该命令生成所有mysqld选项和可配置系统变量的列表。它的输出包括默认选项和变量值,看起来像这样:

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-8.0/
...
tmpdir                            /tmp
transaction-alloc-block-size      8192
transaction-isolation             REPEATABLE-READ
transaction-prealloc-size         4096
transaction-read-only             FALSE
transaction-write-set-extraction  XXHASH64
updatable-views-with-limit        YES
validate-user-plugins             TRUE
verbose                           TRUE
wait-timeout                      28800

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

mysql> SHOW VARIABLES;

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

mysql> SHOW STATUS;

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

$> mysqladmin variables
$> mysqladmin extended-status

MySQL服务器有许多操作参数,可以在服务器启动时使用命令行选项或配置文件(选项文件)更改这些参数。还可以在运行时更改许多参数。

在Windows上,MySQL安装程序与用户交互,并在基本安装目录中创建一个名为my.ini的文件作为默认选项文件。

注意:在Windows上,可能不会显示.ini或.cnf选项的文件扩展名。

完成安装过程后,可以随时编辑默认选项文件,以修改服务器使用的参数。例如,要在文件中使用参数设置,该参数设置在行的开头用#字符进行注释,请删除#,并在必要时修改参数值。要禁用某个设置,请在行的开头添加一个#或将其删除。

对于非Windows平台,在服务器安装或数据目录初始化过程中都不会创建默认选项文件。在没有选项文件的情况下,服务器只从其默认设置开始。

服务器配置验证
从MySQL 8.0.16开始,MySQL 服务器引入了一个 --validate-config 选项。这个选项允许你在不启动服务器到正常操作模式的情况下,检查启动配置文件(通常是 my.cnf 或 my.ini)是否存在问题。

使用 --validate-config 选项时,MySQL 服务器会读取配置文件,但不会真正启动服务。它会检查配置文件中的设置,并报告任何可能的错误或不一致之处。这可以帮助你在尝试启动服务器之前捕获并修复配置问题,从而避免潜在的启动失败或运行时的错误。

mysqld --validate-config

当使用 --validate-config 选项时,MySQL 服务器会检查配置文件的语法和配置选项的有效性。如果没有发现任何错误,服务器将以退出码 0 终止,表示成功执行。如果服务器在配置文件中发现了错误,它会显示一个诊断消息,并以退出码 1 终止,这表示发生了错误。例如:

$> mysqld --validate-config --no-such-option
2018-11-05T17:50:12.738919Z 0 [ERROR] [MY-000068] [Server] unknown
option '--no-such-option'.
2018-11-05T17:50:12.738962Z 0 [ERROR] [MY-010119] [Server] Aborting

当使用 --validate-config 选项时,MySQL 服务器会在发现第一个错误时立即终止。如果你想要执行额外的检查,你需要先修正初始问题,然后再次使用 --validate-config 选项运行服务器。

对于上面的示例,当 --validate-config 显示错误消息时,服务器的退出码是 1。但是,根据 log_error_verbosity 的值,也可能会显示警告和信息消息。这些消息不会立即导致验证终止或退出码为 1。

例如,如果你运行一个带有潜在问题的配置,但这些问题只是警告而不是错误,服务器可能会显示这些警告,但继续验证其他配置项。由于没有发现错误,所以最终退出码将是 0。

$> mysqld --validate-config --log_error_verbosity=2--read-only=s --transaction_read_only=s
2018-11-05T15:43:18.445863Z 0 [Warning] [MY-000076] [Server] option
'read_only': boolean value 's' was not recognized. Set to OFF.
2018-11-05T15:43:18.445882Z 0 [Warning] [MY-000076] [Server] option
'transaction-read-only': boolean value 's' was not recognized. Set to OFF.

如果命令产生了相同的警告以及一个错误,那么错误消息将与警告一起显示,并且退出码将是 1。这表示在配置文件检查过程中遇到了至少一个严重的问题,阻止了服务器的正常启动。

$> mysqld --validate-config --log_error_verbosity=2--no-such-option --read-only=s --transaction_read_only=s
2018-11-05T15:43:53.152886Z 0 [Warning] [MY-000076] [Server] option
'read_only': boolean value 's' was not recognized. Set to OFF.
2018-11-05T15:43:53.152913Z 0 [Warning] [MY-000076] [Server] option
'transaction-read-only': boolean value 's' was not recognized. Set to OFF.
2018-11-05T15:43:53.164889Z 0 [ERROR] [MY-000068] [Server] unknown
option '--no-such-option'.
2018-11-05T15:43:53.165053Z 0 [ERROR] [MY-010119] [Server] Aborting

--validate-config 选项的范围仅限于服务器可以在不经历正常启动过程的情况下执行的配置检查。因此,配置检查不会初始化存储引擎和其他插件、组件等,也不会验证与这些未初始化子系统相关联的选项。

--validate-config 可以在任何时候使用,但在升级后特别有用,用于检查旧服务器上以前使用的任何选项是否已被升级后的服务器视为已弃用或过时。

例如,tx_read_only 系统变量在 MySQL 5.7 中被弃用,并在 8.0 中被移除。如果 MySQL 5.7 服务器在其 my.cnf 文件中使用了该系统变量,然后升级到 MySQL 8.0,使用 --validate-config 来检查配置将产生以下结果(或类似的消息):

$> mysqld --validate-config
2018-11-05T10:40:02.712141Z 0 [ERROR] [MY-000067] [Server] unknown variable
'tx_read_only=ON'.
2018-11-05T10:40:02.712178Z 0 [ERROR] [MY-010119] [Server] Aborting

--validate-config 可以与 --defaults-file 选项一起使用,以便仅验证特定文件中的选项。这对于检查自定义配置文件或特定服务器的配置特别有用。

$> mysqld --defaults-file=./my.cnf-test --validate-config
2018-11-05T10:40:02.712141Z 0 [ERROR] [MY-000067] [Server] unknown variable
'tx_read_only=ON'.
2018-11-05T10:40:02.712178Z 0 [ERROR] [MY-010119] [Server] Aborting

请记住,如果指定了--defaults文件,它必须是命令行上的第一个选项。(使用反转的选项顺序执行前面的示例会产生一条消息,即--defaults文件本身未知。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/31623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络 MAC地址表管理

一、理论知识 1.MAC地址表:交换机使用MAC地址表来记录各MAC地址对应的端口,用于帧转发的目的。 2.老化机制:交换机会为每一条MAC地址表项设置老化时间,老化时间到期后未收到该MAC地址报文的表项将被删除,释放资源。 …

【自动驾驶】通过下位机发送的加速度、角速度计算机器人在世界坐标系中的姿态

文章目录 原始代码全局变量定义逆平方根函数四元数解算函数理论解释四元数加速度计数据归一化计算方向余弦矩阵的第三行计算误差计算并应用积分反馈应用比例反馈积分陀螺仪数据,更新四元数归一化四元数更新姿态数据整体流程原始代码 #define SAMPLING_FREQ 20.0f // 采样频率…

适用于轨道交通专用的板卡式网管型工业以太网交换机

是网管型 CompactPCI板卡式冗余环网交换机。前面板带有6个 10/100/1000Base-T(X)M12接口。后面的CPCI接口有 8个10/100/1000Base-T (X) 以太网接口。 是特别为轨道交通行业EN50155标准要求而设计的坚固型交换机。它同时具有以下特性: ● 支持2线以太网距离扩展端口&…

LeetCode 16.最接近的三数之和(C++)

链接 https://leetcode.cn/problems/3sum-closest/description/ 题目 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例1 输入&a…

五十四、openlayers官网示例LineString Arrows解析——在地图上绘制箭头

官网demo地址: LineString Arrows 这篇介绍了在地图上绘制箭头。 创建一个矢量数据源,将其绑定为draw的数据源并展示在矢量图层上。 const source new VectorSource();const vector new VectorLayer({source: source,style: styleFunction,});map.ad…

真实还原汽车引擎声浪——WT2003Hx语音芯片方案

PART.01 产品市场 WT2003Hx是一款高性能的MP3音频解码芯片,具有成本效益、低功耗和高可靠性等特点,适用于多种场景,包括但不限于汽车娱乐系统、玩具、教育设备以及专业音响设备等。在模拟汽车引擎声的应用中,这一芯片的特性被特…

物联网技术里的边缘计算是什么?

物联网离不开云计算,但云计算有时会有一些问题,比如带宽不足和可能出现的高延迟,这些都给实时数据处理带来了麻烦。为了解决这个问题,现在很多公司开始关注边缘计算这个技术。 那什么是边缘计算呢?简单来说&#xff0…

NumPy2.0近期更新导致用不了

问题 A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.0 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with ‘pybind11>2.12’. …

关于on_listWidget_currentItemChanged问题

今天遇到了一个问题,我子界面和主界面各有一个qlistwidget,然后点击item需要执行一些业务逻辑,在测试时发现软件崩溃,通过断点发现是主界面的槽被触发了。 为什么我点击的是子界面的qlistwidget,却也触发了主界面的槽…

五十三、openlayers官网示例Layer Spy解析——跟随鼠标透视望远镜效果、图层剪裁

官网demo地址: Layer Spy 这篇实现了鼠标跟随望远镜效果,鼠标移动时绘制一个圆形的剪裁区剪裁上层图层。 container.addEventListener("mousemove", function (event) {mousePosition map.getEventPixel(event);map.render();});container.a…

28.建议和纠错

创建ByteBuf建议 特别说明: 之前创建的ByteBuffer都是: ByteBuf buffer ByteBufAllocator.DEFAULT.buffer(10); //默认获取的是直接内存 这样创建只是自己写一些测试练习使用。 真正项目开发中,还是建议在handler中的创建:在服…

【windows|009】计算机网络基础知识

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 ​ 🏅阿里云ACE认证高级工程师 ​ 🏅阿里云开发者社区专家博主 💊交流社…

SAP AI Copilot Joule有可能是对SAP顾问的王炸

本月初在奥兰多举行的SAP蓝宝石大会,按照惯例SAP蓝宝石大会是SAP宣传SAP最新战略和技术的大会,所以火热的AI话题是重中之重,包括请了黄仁勋来站台。刚开始我也没有太在意,认为会是一场普通的大会。对于AI,虽然很火但是…

将 Aira2 集成到 Go项目中

介绍 Aria2 简介 Aria2 是一个轻量级的、跨平台的命令行下载工具,具有强大的多连接、多协议支持,以及灵活的任务控制功能。它可以同时从 HTTP、HTTPS、FTP、BitTorrent 和磁力链接等来源下载文件,并支持断点续传,可以在下载过程…

代码评审——Java占位符%n的处理

问题描述 在软件开发项目中,特别是在处理动态内容生成与呈现至前端界面的过程中,正确运用占位符以确保文本完整性和数据准确性显得尤为重要。不当的占位符管理不仅可能导致语法错误或逻辑混乱,还会引发一系列隐蔽的问题,这些问题…

PHP序列化基础概念:深入理解数据存储与传输

PHP序列化是一个关键概念,它允许开发者将复杂的数据结构(如对象、数组等)转换为可存储或可传输的字符串格式。以下是关于PHP序列化基础概念的深入理解: 序列化的定义与目的 定义:序列化是将数据结构或对象状态转换为可…

ASP.NET Core 6.0 多种部署方式

IIS 环境准备和部署 安装并配置 IIS 安装 IIS,在搜索输入并打开 启用或关闭 Windows 功能。 配置IIS 需要配置 ASPNETCore 部署IS 程序包安装 (ASP.NET Core Module v2) Download .NET 6.0 (Linux, macOS, and Windows).NET 6.0 downloads…

人工智能如何助力人才招聘方式改变

尽管全球经济不稳定,但在当今的就业市场上,招聘顶尖人才仍然竞争激烈,企业很难找到优质人才。明智的人才招聘团队会将人工智能融入日常招聘流程当中,借助人工智能工具或智能招聘系统(如大易招聘管理系统)&a…

Kafka第一篇——内部组件概念架构启动服务器zookeeper选举以及底层原理

目录 引入 ——为什么分布式系统需要用第三方软件? JMS 对比 组件 架构推演——备份实现安全可靠 , Zookeeper controller的选举 controller和broker底层通信原理 BROKER内部组件 ​编辑 topic创建 引入 ——为什么分布式系统需要用第三方软件&#…

Java 面试题:对比 Hashtable、HashMap、TreeMap 有什么不同?

在 Java 集合框架中,理解 Hashtable、HashMap 和 TreeMap 之间的区别对于任何希望编写高效代码的开发者来说都是至关重要的。尽管这三个类都用于存储键值对,但它们在特性和使用场景上却有着显著的差异。 Hashtable 是最早实现的哈希表之一,提…