MySQL my.cnf配置文件详情
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,下文内容主要给大家带来MySQL my.cnf配置文件详情,这里所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。官网说:从
千家信息网最后更新 2025年01月22日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安全错误
数据库的锁怎样保障安全
淄博生产软件开发咨询
服务器隔离网闸品牌
物联网软件开发标准
加载失败检查数据库设置
mysql服务器名在哪里看
rp服务器什么意思
我的世界服务器生存服怎么做
数据库密码忘记了怎么找回来
浙江网络安全学院电脑登录入口
如何进数据库查资料
打印机服务器格式
中大网络安全
北京信息科技大学数据库答案
预防网络沉迷网络安全海报绘画
冲锋吧精灵服务器连接不上
webrtc媒体服务器 录音
检测服务器磁盘坏道
查看服务器数据库连接数
无线软件开发代理价格
网约车网络安全检查
小火箭服务器节点购买网址
软件开发升级需要重写代码吗
网络技术保障职责
福州即拼商城软件开发方案
广州镖镖网络技术有限公司
网络技术名词大全
ssh怎么看远程服务器的空间
网络安全手报简单
mysql数据库时间加减
查看达梦数据库所有用户