my.cnf 的理解
在很多文章中,都没有讲mysql my.cnf真正的作用,如果你编程运维的时间比较长,那么接下来我所讲述的原理你就应该很能理解
当我们在linux下执行命令的时候,相当于调用执行某一动作这种动作我们可以理解为调用一个执行的指令集,什么是指令集呢,可以理解为调用执行程序(多个指令集的共同结果),这些指令集是系统环境变量中已指定了的执行文件的链接方式。重点来了:执行命令类似于开发中调用一个函数(尽管他的运行机制与编程中的函数并不一样)。
例如我们执行 mysql 时 在Linux 下需要先将mysql 写入到环境变量,这个和win一样,环境变量中有了对应的执行文件,mysql 才不会提示 没有定义。安装时这些环境变量会自动写入。这就是为什么安装以后就能执行对应命令。mysql 可以带参数。
my.cnf中定义的所有参数可以理解为预定义的 执行参数,当我们执行Service mysql start的命令时就会加载my.cnf中的设置项,执行时将这些设置项传值到运行时程序里需要初始化的变量中去。之后执行。有一些参数有缺省值,有一些没有。这就是执行一个命令时有些执行项必须写,有一些不用。因为有默认值。下面就一起学习一下MYSQL中的设置项的作用吧!激励变成,一起进步,公子咏!
配置文件位置
my.cnf文件可以自定义位置,也可以使用如下默认的位置,只要放在默认位置,MySQL自动识别:
/etc/my.cnf 全局选项
/etc/mysql/my.cnf 全局选项
SYSCONFDIR/my.cnf 全局选项
$MYSQL_HOME/my.cnf 服务器特定选项(仅限服务器)
defaults-extra-file 指定的文件 --defaults-extra-file(如果有的话)
~/.my.cnf 用户特定的选项, ~表示当前用户的主目录(的值 $HOME)。
~/.mylogin.cnf 用户特定的登录路径选项(仅限客户端) 在上表中, 首先它会找/etc/my.cnf 这个文件, 如果这个文件不存在,那么它接下来去找/etc/mysql/my.cnf这个文件
# 在此配置文件中, 你可以使用所有程序支持的长选项.
# 如果想获悉程序支持的所有选项
# 请在程序后加上"--help"参数运行程序.
#
# 关于独立选项更多的细节信息可以在手册内找到
#
#
# 以下选项会被MySQL客户端应用读取.
# 注意只有MySQL附带的客户端应用程序保证可以读取这段内容.
# 如果你想你自己的MySQL应用程序获取这些值
# 需要在MySQL客户端库初始化的时候指定这些选项
#
[client]
#password = [your_password]
port = 3306
socket = /tmp/mysql.sock
# *** 应用定制选项 ***
#
# MySQL 服务端
#
[mysqld]
# 一般配置选项
port = 3306
socket = /tmp/mysqls.sock
# back_log 是操作系统在监听队列中所能保持的连接数,
# 队列保存了在MySQL连接管理器线程处理之前的连接.
# 如果你有非常高的连接率并且出现"connection refused" 报错,
# 你就应该增加此处的值.
# 检查你的操作系统文档来获取这个变量的最大值.
# 如果将back_log设定到比你操作系统限制更高的值,将会没有效果
back_log = 50
# 不在TCP/IP端口上进行监听.
# 如果所有的进程都是在同一台服务器连接到本地的mysqld,
# 这样设置将是增强安全的方法
# 所有mysqld的连接都是通过Unix sockets 或者命名管道进行的.
# 注意在windows下如果没有打开命名管道选项而只是用此项
# (通过 "enable-named-pipe" 选项) 将会导致mysql服务没有任何作用!
#skip-networking
# MySQL 服务所允许的同时会话数的上限
# 其中一个连接将被SUPER权限保留作为管理员登录.
# 即便已经达到了连接数的上限.
max_connections = 100
# 每个客户端连接最大的错误允许数量,如果达到了此限制.
# 这个客户端将会被MySQL服务阻止直到执行了"FLUSH HOSTS" 或者服务重启
# 非法的密码以及其他在链接时的错误会增加此值.
# 查看 "Aborted_connects" 状态来获取全局计数器.
max_connect_errors = 10
# 所有线程所打开表的数量.
# 增加此值就增加了mysqld所需要的文件描述符的数量
# 这样你需要确认在[mysqld_safe]中 "open-files-limit" 变量设置打开文件数量允许至少4096
table_cache = 2048
# 允许外部文件级别的锁. 打开文件锁会对性能造

本文解析my.cnf文件在Linux下MySQL配置中的关键作用,包括全局和用户特定选项,及其对服务器性能和连接设置的影响,如连接数、缓存大小和安全性设置。
最低0.47元/天 解锁文章
3130

被折叠的 条评论
为什么被折叠?



