MySQL my.cnf配置文件详情
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,下文内容主要给大家带来MySQL my.cnf配置文件详情,这里所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。官网说:从
千家信息网最后更新 2025年11月10日MySQL my.cnf配置文件详情
下文内容主要给大家带来MySQL my.cnf配置文件详情,这里所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。
官网说:从5.7.18开始不在二进制包中提供my-default.cnf文件。参考:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html经过测试,在5.7.18版本中,使用tar.gz安装时,也就是压缩包解压出来安装这种,已经不再需要my.cnf文件也能正常运行。my.cnf文件就是把在命令行上启动MySQL时后面的参数用cnf文件配置好,那么下载启动时就不再需要在命令上加如参数。这个my.cnf文件可以是自定义位置,也可以使用如下默认的位置,只要放在默认位置,MySQL自动识别(通过deb或者APT源安装的,初始位置在下方列表):在Unix和类Unix系统上读取选项文件文件名 目的/etc/my.cnf 全局选项 /etc/mysql/my.cnf 全局选项 SYSCONFDIR/my.cnf 全局选项 $MYSQL_HOME/my.cnf 云服务器特定选项(仅限服务器) defaults-extra-file 指定的文件 --defaults-extra-file(如果有的话) ~/.my.cnf 用户特定的选项 ~/.mylogin.cnf 用户特定的登录路径选项(仅限客户端)
在上表中,~表示当前用户的主目录(的值 $HOME)。首先它会找/etc/my.cnf 这个文件, 如果这个文件不存在,那么它接下来去找/etc/mysql/my.cnf这个文件,依此类推以上的详细说明可以参考官方解释:https://dev.mysql.com/doc/refman/5.7/en/option-files.htmlhttps://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html?spm=5176.7920929.0.0.42e941d6WvwfAQ#sysvar_block_encryption_modehttps://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#ngram_token_sizehttps://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#innodb_monitor_enablehttps://github.com/xpchild/SQL/wiki/Changes-in-AliSQL-5.6.32-(2016-09-15)#10-sql-filter总之,无论是使用APT源安装还是deb包安装,或者二进制(压缩包tar.gz)包安装的,都可以通过my.cnf文件进行配置来达到MySQL的启动配置及调优。由于在5.7.18开始,二进制包不再包含示例文件my-default.cnf,所以我从5.7.17版本中提取了样例,但是发现里面也没有太多项配置,my-default.cnf内容如下:# For advice on how to change settings please see# # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the# *** default location during install, and will be replaced if you# *** upgrade to a newer version of MySQL.[mysqld]# Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.# innodb_buffer_pool_size = 128M# Remove leading # to turn on a very important data integrity option: logging# changes to the binary log between backups.# log_bin# These are commonly set, remove the # and set as required.# basedir = .....# datadir = .....# port = .....# server_id = .....# socket = .....# Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.# join_buffer_size = 128M# sort_buffer_size = 2M# read_rnd_buffer_size = 2M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 其实,这些项都是命令行的参数,在官网上可以从这个页面 Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的观察以及调试,才有可能得到最佳效果。下面这个是my.cnf示例:*******************************************************[client]default-character-set = utf8mb4[mysql]#开启 tab 补全#auto-rehashdefault-character-set = utf8mb4[mysqld]port=3306basedir=/data/server/mysql57/datadir=/data/server/mysql57/data/socket=/data/server/mysql57/data/mysql.socksymbolic-links=0log-error=/data/logs/mysql57/mysqld.logpid-file=/data/server/mysql57/data/mysqld57.pid# 禁用主机名解析skip-name-resolve# 默认的数据库引擎default-storage-engine = InnoDBinnodb-file-per-table=1innodb_force_recovery = 1#一些坑group_concat_max_len = 10240sql_mode=expire_logs_days = 7memlock### 字符集配置character-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ciinit_connect='SET NAMES utf8mb4'### GTIDserver_id = 330759# 为保证 GTID 复制的稳定, 行级日志binlog_format = row# 开启 gtid 功能gtid_mode = on# 保障 GTID 事务安全# 当启用enforce_gtid_consistency功能的时候,# MySQL只允许能够保障事务安全, 并且能够被日志记录的SQL语句被执行,# 像create table ... select 和 create temporarytable语句, # 以及同时更新事务表和非事务表的SQL语句或事务都不允许执行enforce-gtid-consistency = true# 以下两条配置为主从切换, 数据库高可用的必须配置# 开启 binlog 日志功能log_bin = mysql57-bin # 开启从库更新 binlog 日志log-slave-updates = on#slave复制进程不随mysql启动而启动skip_slave_start=1### 慢查询日志# 打开慢查询日志功能slow_query_log = 1# 超过2秒的查询记录下来long_query_time = 2# 记录下没有使用索引的查询log_queries_not_using_indexes = 0slow_query_log_file =/data/logs/mysql57/slow.log#log=/data/logs/mysql57/all.log### 自动修复# 记录 relay.info 到数据表中relay_log_info_repository = TABLE# 记录 master.info 到数据表中 master_info_repository = TABLE# 启用 relaylog 的自动修复功能relay_log_recovery = on# 在 SQL 线程执行完一个 relaylog 后自动删除relay_log_purge = 1### 数据安全性配置# wei关闭 master 创建 function 的功能log_bin_trust_function_creators = on# 每执行一个事务都强制写入磁盘sync_binlog = 1# timestamp 列如果没有显式定义为 not null, 则支持null属性# 设置 timestamp 的列值为 null, 不会被设置为 current timestampexplicit_defaults_for_timestamp=true### 优化配置# 优化中文全文模糊索引ft_min_word_len = 1# 默认库名表名保存为小写, 不区分大小写lower_case_table_names = 1# 单条记录写入最大的大小限制# 过小可能会导致写入(导入)数据失败max_allowed_packet = 256M# 半同步复制开启#rpl_semi_sync_master_enabled = 1#rpl_semi_sync_slave_enabled = 1# 半同步复制超时时间设置#rpl_semi_sync_master_timeout = 1000# 复制模式(保持系统默认)#rpl_semi_sync_master_wait_point = AFTER_SYNC# 后端只要有一台收到日志并写入 relaylog 就算成功#rpl_semi_sync_master_wait_slave_count = 1# 多线程复制# 基于组提交的并行复制方式slave_parallel_type = logical_clock#并行的SQL线程数量,此参数只有设置 1max_allowed_packet = 256M
对于以上关于MySQL my.cnf配置文件详情,如果大家还有更多需要了解的可以持续关注我们的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。
文件
数据
配置
事务
日志
大小
线程
内存
最大
功能
参数
数量
缓冲
情况
系统
缓冲区
缓存
查询
二进制
位置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广东品众互动网络技术有限公司
服务器端口80
软件开发接项目签什么合同
钢板几何尺寸测量离线软件开发
服务器如何加内存
网络技术服务会计分录
数据库名哪里查
中职学校网络技术理论试题
田亮联通网络技术大会
表格中如何同时选中数据库
漳州软件开发行业
服务器管理软件怎么看
网络安全生产监督管理局
数据库应用与技术陈艳平答案
软件开发团队怎么申请
深圳软件开发要多久
pims数据库分析方法
gp数据库查字符串
山东通用软件开发价格表
宁波市公安局 网络安全
ps4服务器存档
jbdc方式访问数据库
服务器的功耗
上海综合网络安全工程资质
审判 tbc 服务器 怎么样
小酒窝网络技术有限公司
去哪里买阿里云服务器便宜
浦发银行网络安全策略
服务器ups电源线
苏州营销软件开发代理商