my.cnf
# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# The MySQL Server configuration file.
#
# For explanations see
# 官网:配置文件命令索引目录 8.1是对应的版本号,切换不同版本号就可以找对应的命令索引目录
# https://dev.mysql.com/doc/refman/8.1/en/server-option-variable-reference.html
# Custom config should go here
# MySQL Server 配置参数
[mysqld]
# 设置端口号,默认为 3306
port = 3306
# 设置 MySQL 数据文件存储路径,默认值为mysqld安装目录 linux 通常为 `/var/lib/mysql`
datadir = /var/lib/mysql
# 允许最大连接数 默认值 Default Value=151, Minimum Value = 1, Maximum Value = 100000
max_connections=5000
# 服务器等待非交互式连接的时间 默认值 28800
# Default Value 默认值 28800
# Minimum Value 最小值 1
# Maximum Value (Windows) 最大值(视窗) 2147483
# Maximum Value (Other) 最大值(其他) 31536000
# Unit 单位 seconds 秒
wait_timeout=28800
# 客户端和服务器之间传输的最大数据包大小、默认为 64M, 最大值为1G
max_allowed_packet=64M
# 是否将表名视为大小写敏感 0:区分、1:不区分、2:表示表名根据操作系统的规则进行比较
# 默认值
# Default Value (macOS) 2
# Default Value (Unix) 0
# Default Value (Windows) 1
lower_case_table_names=1
# 服务器的字符集和排序规则 默认值 utf8mb4_0900_ai_ci
collation_server=utf8mb4_0900_ai_ci
# 服务器的字符集 默认值 utf8mb4
character_set_server=utf8mb4
# 是一个 MySQL 启动选项,它使得 MySQL 服务器在启动时跳过权限验证机制,允许所有用户以超级管理员的身份(root)登录,无需提供密码 默认值 OFF(关闭)、开启时放开注释即可
# 适用于Mysql直接安装、docker 安装Mysql 是有初始化密码设置的无需担心
# skip-grant-tables
# 用于禁用二进制日志记录(binary logging)功能。二进制日志记录是 MySQL 的一项重要功能,用于记录数据库中所做的更改操作,以便进行数据恢复、数据复制和高可用性配置等。
# 默认是开启的,命令如下 开启:log-bin = mysql-bin, 关闭: skip-log-bin/disable-log-bin
# 见官网 https://dev.mysql.com/doc/refman/8.1/en/replication-options-binary-log.html#sysvar_log_bin
# skip-log-bin
# 用于设置二进制日志文件(log-bin 备份产生的文件)过期的天数。当二进制日志文件的生成时间超过指定的天数时,MySQL 将自动清理(删除)旧的二进制日志文件,以释放磁盘空间。
# 默认值是 0天 一般配合log-bin使用
expire_logs_days = 2
# warning & error log
log-warnings = 1
log-error = /home/mysql/mysql/log/mysql.err
# 用于设置日志输出的方式,默认为FILE,你可以将它设为TABLE,然后就可以查询mysql架构下的slow_log表了
# 具体选项值如下:
# FILE:将日志输出到文件中。
# TABLE:将日志输出到系统日志表中(mysql.general_log 或 mysql.slow_log)。
# NONE:不输出日志。
log_output = FILE
# 是否开启慢查询 默认是关闭的 值说明 1(or ON): 开启, 0(or OFF): 关闭
slow_query_log = 1
# 慢查询的日志文件 默认文件名:host_name-slow.log,注意:log_output = FILE 才会用到当前选项!
slow_query_log_file = /home/mysql/mysql/log/slow.log
# 慢查询时间 超过1秒则为慢查询, 默认值 10
long-query-time = 5
# 用于禁用 MySQL 主机名缓存功能。当你使用该选项启动 MySQL 服务器时,MySQL 将不会将主机名存储在缓存中
# 默认情况下,MySQL 会缓存主机名,这样可以提高连接性能,减少对 DNS 查询的依赖。但在某些情况下,你可能希望禁用主机名缓存,以实时地获取主机名的最新解析结果
# 要使用 skip-host-cache 参数,在 my.cnf 配置文件或启动命令中添加以下行:skip-host-cache 或通过在命令行启动 MySQL 服务器时指定该参数:mysqld --skip-host-cache
skip-host-cache
[mysql]
# 更多命令配置详见 https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html
# MySQL 支持以上选项,这些选项可以在命令行或选项文件的 [mysql] AND [client] 组中指定,只需去掉前面的 --
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
# 本地客户端登录mysql的用户名
user=root
# 防止本地客户端输入密码后出现警告[Warning] Using a password on the command line interface can be insecure.
password=yourpassword
[mysqldump]
# 更多命令配置详见 https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html
# MySQL 支持以上选项,这些选项可以在命令行或选项文件的 [mysql] AND [client] 组中指定,只需去掉前面的 --
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
# 设置备份时mysql输入的密码,防止出现 [Warning] Using a password on the command line interface can be insecure
password=yourpassword
[client]
# 更多命令配置详见 https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html
# MySQL 支持以上选项,这些选项可以在命令行或选项文件的 [mysql] AND [client] 组中指定,只需去掉前面的 --
port=3306
default-character-set=utf8mb4
官网命令配置文档
mysqld
mysql
mysqldump
client
配置示例my.cnf
设置忽略表名大小写
关闭了binlog日志
设置了一些相关的字符集
Last updated