欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > mysql常见的一些配置项

mysql常见的一些配置项

2025/11/19 6:38:32 来源:https://blog.csdn.net/qq_43071699/article/details/143604316  浏览:    关键词:mysql常见的一些配置项

MySQL 有许多配置选项,可以用来调整其行为以满足特定的需求。以下是一些常见的配置选项,除了大小写敏感之外,这些配置选项也经常被调整:

1. 字符集和排序规则

  • character_set_server: 设置服务器的默认字符集。
  • collation_server: 设置服务器的默认排序规则。
  • character_set_client: 设置客户端发送给服务器的字符集。
  • character_set_connection: 设置连接层的字符集。
  • character_set_results: 设置结果集的字符集。

2. 缓冲区和缓存

  • innodb_buffer_pool_size: InnoDB 缓冲池的大小,用于缓存数据和索引页。
  • query_cache_size: 查询缓存的大小,用于缓存 SELECT 查询的结果。
  • key_buffer_size: MyISAM 表的键缓冲区大小。
  • sort_buffer_size: 为每个需要进行排序的线程分配的缓冲区大小。
  • read_buffer_sizeread_rnd_buffer_size: 用于全表扫描和排序扫描的缓冲区大小。

3. 日志和恢复

  • log_bin: 启用二进制日志,用于复制和恢复。
  • binlog_format: 二进制日志格式,可以是 STATEMENT, ROW, 或 MIXED
  • expire_logs_days: 二进制日志自动删除的时间(天数)。
  • innodb_log_file_size: InnoDB 事务日志文件的大小。
  • innodb_flush_log_at_trx_commit: 控制事务提交时日志刷新的行为。

4. 连接和线程

  • max_connections: 允许的最大并发连接数。
  • thread_cache_size: 线程缓存的大小,用于快速响应新连接。
  • wait_timeout: 服务器关闭非交互连接之前等待活动的秒数。
  • interactive_timeout: 服务器关闭交互连接之前等待活动的秒数。

5. 性能优化

  • skip_name_resolve: 禁用 DNS 解析,提高连接速度。
  • table_open_cache: 打开表的缓存大小。
  • tmp_table_size: 内存中临时表的最大大小。
  • max_heap_table_size: 内存表的最大大小。
  • join_buffer_size: 用于全连接操作的缓冲区大小。

6. 安全性

  • secure-file-priv: 限制 LOAD DATA 和 SELECT … INTO OUTFILE 操作的目录。
  • local-infile: 控制是否允许客户端使用 LOAD DATA LOCAL 语句。
  • old_passwords: 控制是否使用旧的密码哈希算法。

7. 存储引擎

  • default_storage_engine: 默认的存储引擎,例如 InnoDBMyISAM
  • innodb_file_per_table: 每个 InnoDB 表使用单独的文件。

8. 其他

  • lower_case_table_names: 控制表名是否转换为小写(Windows 上默认为 1,Linux 上默认为 0)。
  • datadir: 数据文件的存储目录。
  • socket: 本地客户端连接使用的 Unix 域套接字文件。
  • port: MySQL 服务器监听的 TCP/IP 端口号。

配置文件

这些配置选项通常在 MySQL 的配置文件 my.cnfmy.ini 中设置。配置文件的位置可能因操作系统和安装方式而异,常见的位置包括:

  • /etc/my.cnf
  • /etc/mysql/my.cnf
  • /etc/mysql/mysql.conf.d/mysqld.cnf
  • C:\ProgramData\MySQL\MySQL Server X.X\my.ini (Windows)

示例配置

以下是一个简单的 my.cnf 示例,展示了如何设置一些常用的配置选项:

[mysqld]
# 基本设置
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
port=3306# 字符集
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci# 缓冲区和缓存
innodb_buffer_pool_size=1G
query_cache_size=0
key_buffer_size=16M
sort_buffer_size=2M
read_buffer_size=2M
read_rnd_buffer_size=8M# 日志和恢复
log_bin=mysql-bin
binlog_format=row
expire_logs_days=7
innodb_log_file_size=512M
innodb_flush_log_at_trx_commit=1# 连接和线程
max_connections=150
thread_cache_size=10
wait_timeout=28800
interactive_timeout=28800# 性能优化
skip_name_resolve=ON
table_open_cache=2000
tmp_table_size=16M
max_heap_table_size=16M
join_buffer_size=2M# 安全性
secure-file-priv=/var/lib/mysql-files
local-infile=0# 存储引擎
default_storage_engine=InnoDB
innodb_file_per_table=ON

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词