解析MySQL 配置文件 my.cnf / my.ini 区别

admin2个月前笔记43

充分理解 MySQL 配置文件中各个变量的意义对我们有针对性的优化 MySQL 数据库性能有非常大的意义。我们需要根据不同的数据量级,不同的生产环境情况对 MySQL 配置文件进行优化。

一、配置文件my.ini或my.cnf的位置

Windows 和 Linux 下的 MySQL 配置文件的名字和存放位置都是不同的:

1、WIndows 下 MySQL 配置文件是 my.ini 存放在 MySQL 安装目录的根目录下;

2、Linux 下 MySQL 配置文件是 my.cnf 存放在 /etc/my.cnf、/etc/mysql/my.cnf。我们也可以通过 find 命令进行查找。

1)find /etc -name my.cnf   --在/etc目录下的文件my.cnf
 2)find /etc -name '*cnf*'  --使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘cnf'的文件
 3)find / -name my.cnf      --在根目录下查找文件my.cnf,表示在整个硬盘查找
 4)find . -name 'cnf*'      --表示当前目录下查找文件名开头是字符串‘cnf'的文件

3、另外要注意的是,Linux用rpm包安装的MySQL是不会安装/etc/my.cnf文件的。

至于为什么没有这个文件而MySQL却也能正常启动和作用,有两个说法:

第一种说法,my.cnf只是MySQL启动时的一个参数文件,可以没有它,这时MySQL会用内置的默认参数启动;

第二种说法,MySQL在启动时自动使用/usr/share/mysql目录下的my-medium.cnf文件,这种说法仅限于rpm包安装的MySQL。

解决方法:只需要复制一个/usr/share/mysql目录下的.cnf文件到/etc目录,并改名为my.cnf即可。

二、配置文件my.cnf的内容详解
[mysqld]
# 指定Mysql数据库的开放端口。
port = 3306
# 设置Mysql数据库的安装目录(绝对路径)。
basedir = /usr/local/mysql
# 设置Mysql数据库的数据存放的绝对路径(存放目录)。必须是data,或者是\\xxx-data(my.ini需要,my.cnf不需要)。
datadir = /www/server/data
# 设置MySQL数据库的最大连接数量。如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量。可以过'%connect%'通配符查看当前状态的连接数量,以定夺该值的大小。
max_connections = 100
# 设置MySQL数据库的连接超时时间。默认设置是一个数据库连接超过8小时没有使用,达到了server端的timeout,服务器将断开这条连接,此后再通过这个connection发起查询操作都将失败。超时等待时间,单位秒,即一个connection在若干秒内无响应,则服务器切断与这个客户端的连接。
wait_timeout = 28800
# 当没有数据库请求时,28800秒(即8小时)将自动断开连接。要同时设置interactive_timeout和wait_timeout才会生效。
interactive_timeout = 28800


三、配置文件my.cnf的内容查找
# 查看并发数
mysql> show status like 'Threads%';
# 查看mysql服务器的最大连接数值
mysql> show variables like '%max_connections%';
# 查看mysql服务器响应的最大连接数:
mysql> show global status like 'Max_used_connections';
四、配置文件my.cnf的内容修改
# 设置mysql服务器的最大连接数值
mysql> set GLOBAL max_connections=256;


相关文章

V2Ray使用教程:节点搭建、配置及软件下载方法

V2Ray使用教程:节点搭建、配置及软件下载方法

V2Ray是一个可以帮助在一些互联网信息受到限制的国家的网络用户突破限制的代理软件,从而使他们能够正常访问那些因被限制或屏蔽而不能访问的网站,诸如谷歌、推特、脸书、YouTube、Instagram等...

Linux whereis 基础命令

Linux whereis 基础命令

这篇文章里,我们会通过一些便于理解的例子来解释这一命令的基础内容。但在这之前,值得说明的一点是,下面出现的所有例子都在 Ubuntu 16.04 LTS 下测试过。Linux whereis...

统计力学中的概率论基础

技术背景统计力学是一门通过粒子的纯粹微观量来表示系统宏观量的学科,从统计分布出发,用无偏/有偏估计来研究各种不同的系综。本文内容部分参考自郑伟谋老师所著《统计力学导引》,主要介绍其中概率论基础的部分。...

uni-app开发经验总结

uni-app开发经验总结

uni-app介绍及对其优缺点理解开发多端兼容应用的一种较好的方案:有时候一些关键的点上走不通,可能就需要花费很多额外的工作去做相应端的兼容,如百度小程序不支持scoped;App转为微信小程序的一点...

 区分MBR和GPT分区表

区分MBR和GPT分区表

MBR和GPT分区表详解全新硬盘(未初始化)装系统之前,必须对齐进行分区,硬盘分区初始化的格式包括MBR和GPT两种。当然苹果的MAC还有另一种分区格式,因为不关注那一方面所以这里不介绍了MBR分区表...

linux的网络服务功能—FTP、SSH和NFS

linux的网络服务功能—FTP、SSH和NFS

现在很多用linux进行开发的工程师,他们大多都是在windows系统上安装虚拟机,然后在虚拟机中安装linux系统,然后在里面完成项目的开发的。这种方式往往需要经常的和windows之间进行文件的传...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。