mysql 优化配置

[mysqld]
bind-address=0.0.0.0
port=13306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock

log-bin=mysql-bin
server-id=1

# Character Set Configuration
character-set-server = utf8mb4        # 服务器默认字符集为utf8mb4
collation-server = utf8mb4_general_ci # 默认字符集的排序规则为utf8mb4_general_ci

# 优化相关配置
# Connection Configuration
max_connections=1000                 # 最大连接数为1000
wait_timeout=180                     # 等待超时时间为180秒
interactive_timeout=180              # 交互式超时时间为180秒
max_allowed_packet=3000M             # 允许的最大数据包大小为3GB

# Query Cache Configuration
query_cache_type = 0                 # 禁用查询缓存
query_cache_size = 0                 # 查询缓存大小为0

# InnoDB Configuration
innodb_buffer_pool_size = 2G         # InnoDB缓冲池大小为2GB
innodb_log_file_size = 512M          # InnoDB日志文件大小为512MB
innodb_flush_log_at_trx_commit = 2   # 每次事务提交时异步刷新日志
#innodb_flush_method = O_DIRECT       # 使用直接I/O方式刷新InnoDB数据和日志

lower_case_table_names=1            # 将表名和数据库名的大小写敏感性设置为不区分大小写
tmp_table_size=128M                 # 设置临时表的内存缓冲区大小为128MB
key_buffer_size=256M                # 设置索引缓冲区的大小为256MB

# 日志和错误处理
log-error=/usr/local/mysql/logs/mysql.err  # 错误日志文件路径
slow_query_log=1                   # 启用慢查询日志
long_query_time=1                  # 将执行时间超过1秒的查询记录到慢查询日志

# 安全设置
skip-name-resolve                  # 禁用DNS反向解析功能,提升连接性能
#secure-file-priv=NO                # 允许从任意位置读取和写入文件

# 其他设置
symbolic-links=0                   # 禁用符号链接
explicit_defaults_for_timestamp=true   # 显式默认值以获取更准确的时间戳行为

[mysql]
socket=/usr/local/mysql/mysql.sock
您提供的MySQL配置文件包含了一些常见的配置项。以下是每个配置项的简要说明:

- `bind-address`: MySQL服务绑定的IP地址,设置为`0.0.0.0`表示允许来自任意IP的连接。
- `port`: MySQL服务监听的端口号,设置为`13306`。
- `user`: MySQL服务运行时使用的用户,通常为`mysql`。
- `basedir`: MySQL安装目录的路径。
- `datadir`: MySQL数据文件的存储路径。
- `socket`: MySQL套接字文件的路径。

在这之后,配置文件增加了启用二进制日志的相关配置:

- `log-bin`: 启用二进制日志,并指定二进制日志文件的名称格式。
- `server-id`: 设置MySQL服务器的唯一标识符,用于复制和主从配置。

接下来是一些其他常见的配置项:

- 字符集配置:
  - `character-set-server`:设置MySQL服务器的默认字符集为`utf8mb4`。
  - `collation-server`:设置默认字符集的排序规则为`utf8mb4_general_ci`。

- 连接配置:
  - `max_connections`:设置MySQL的最大连接数为`1000`。
  - `wait_timeout`:设置等待超时时间为`180`秒。
  - `interactive_timeout`:设置交互式超时时间为`180`秒。
  - `max_allowed_packet`:设置允许的最大数据包大小为`3GB`。

- 查询缓存配置:
  - `query_cache_type`:禁用查询缓存。
  - `query_cache_size`:设置查询缓存大小为`0`。

- InnoDB配置:
  - `innodb_buffer_pool_size`:设置InnoDB缓冲池大小为`2G`。
  - `innodb_log_file_size`:设置InnoDB日志文件大小为`512M`。
  - `innodb_flush_log_at_trx_commit`:设置每次事务提交时异步刷新日志。
  - `innodb_flush_method`:使用直接I/O方式刷新InnoDB数据和日志。

- 其他配置项包括日志和错误处理、安全设置、临时表大小、索引缓冲区大小等。

请注意,根据实际需求和系统资源状况,您可能需要调整这些配置项的值。

最后,`[mysql]` 部分指定了MySQL客户端的套接字文件路径。

如果您需要进一步自定义和优化MySQL配置,请参考MySQL官方文档以获取更详细的信息和指导。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值