[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官方文档以获取更详细的信息和指导。
mysql 优化配置
于 2023-08-18 10:26:29 首次发布