经常在使用MySql,但是对于MySql下面的各种参数的配置并不是很熟悉,经常在需要改变某项参数的时候,还要到处在网上查找,有点不方便。今天想把MySql下面的配置文件my.cnf详细的做一个说明(Linux环境),以后再需要设置的时候就很方便的查阅了。

ps:我的mysql的版本号是5.7.19-ndb-7.5.7,查看版本号的sql命令是:select version();

首先,先找到my.cnf的路径,如果安装的时候没有做什么修改,那么它的默认路径是在“/etc/my.cnf”这个地方。如果找不到也没有关系,我们可以用两步找到它;

第一步:首先找到mysqld的路径:

命令:which mysqld

出来的路径就是mysqld 的路径;

第二步:敲命令:/usr/local/mysql/bin/mysqld --verbose --help |grep -A 1 'Default options'

在这里就可以看到my.cnf的路径啦!

下面我们打开my.cnf看看里面都有些什么配置:

part 1

port = 3306:指定了Mysql开放的端口;basedir = /usr/local/mysql:指定Mysql安装的绝对路径;datadir = /data/mysql_db_data:指定Mysql数据存放的绝对路径;socket = /tmp/mysql.sock:套接字文件

这里要注意,有时候重启mysql会提示/tmp/mysql.sock不存在,此时通常会由于两种情况导致,解决方法:

路径不对,此时找一下该文件的路径,然后配置指向正确的路径即可;误删除了,此时需重启mysql服务,重启完后会在datadir目录下生成一个该文件,然后配置指向正确的路径就可以了;

plugin_dir = /usr/local/mysql/lib/plugin:mysql中plugin插件所在的路径;log-error = /data/mysql_db/data/error.log:mysql生成的错误日志存放的路径,它是一个文本文件,遇到有什么问题想查看日志时可以到这个文件里去找线索;symbolic-links = 0:符号连接,如果设置为1,则mysql数据库和表里的数据支持储存在datadir目录之外的路径下,默认都是0(较新版本的mysql下默认是1);

part 2

local-infile = 0:设置为0表示关闭服务器从本地load的功能,设置为1则打开;max-connections = 320:设置Mysql的最大连接数;如果实际应用中,并发的连接数量比较大,可以适当的调高此参数,但是,也不是说越高越好,因为这牵涉到服务器的机器硬件的性能。

有时候查看日志,会看到例如:“Error 1040 : Too many connections”这样的错误,导致这种错误出现的原因通常是由于该参数的值设置过小导致;

query_cache_limit = 4M:指定单个查询可以使用的缓冲区的大小,一般默认值是1M;query_cache_size = 64M:查询的缓存大小设置;query_cache_type = 1:设置缓存的类型,有以下几种设置方法:

设置成0,表示禁用缓存;设置成1,表示缓存所有结果;设置成2,表示只缓存在select语句中通过SQL_CACHE指定需要缓存的查询;

max_user_connections = 320:用户连接数的最大值设置,有时候会出现:“has more than max_user_connections active connections”的错误,不一定是该参数的设置个数不够,有时候需要从代码里找原因,查看是否连接结束后及时断开;wait_timeout = 9000:超时等待时间,单位秒,即一个connection在若干秒内无响应,则服务器切断与这个客户端的连接;connect_timeout = 20:客户端与服务器建立连接时,服务器返回错误的握手协议前,等待数据包到来的最大时间,单位秒;thread_cache_size = 256:用于缓存空闲的线程;key_buffer_size = 16M:用于指定索引缓冲区的大小;

part 3

join_buffer_size = 2M:查询语句中如果较多次使用join查询时,可适当增大该参数,默认2M,如果几乎不怎么用join进行查询,可不予理会;max_heap_table_size = 16M:指定用户可创建内存表的大小;low_priority_updates = 1:设置服务器降低写操作的优先级,设置为1表示以读为主;max_allowd_packet = 128M:设置一次消息传输的最大值;max_seeks_for_key = 100:设置基于key查询允许的最大查找次数;sort_buffer_size = 16M:通过增加该值的大小可以提高查询中使用“group by”和“order by”的性能;read_buffer_size = 16M:设置服务器读缓冲区的大小;max_connect_errors = 10:客户端连接服务器在没有成功时就被阻断了,累计后超过这个设置的值时,服务器将阻止该客户端后续的所有访问;myisam_sort_buffer_size = 64M:服务器重建索引时允许建立的最大临时文件的大小;tmp_table_size = 64M:设置临时内部堆积表(Heap)的大小;read_rnd_buffer_size = 1M:设置服务器随机读取缓冲区的大小;open_file_limit = 6050:控制文件打开的个数;

Linux下MySql的配置文件my.cnf详细 讲解的更多相关文章

  1. mysql主配置文件my.cnf详细说明

    MySQL配置文件my.cnf 例子最详细翻译,可以保存做笔记用[转载]#BEGIN CONFIG INFO#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 ...

  2. Linux下MySQL数据库的my.cnf配置文件,解决中文乱码问题

    系统 CentOS 7.7 MySQL - 5.7.28文件放置目录:/etc/文件权限:644解决问题:存储中文数据乱码 # For advice on how to change settings ...

  3. 详解MySql的配置文件my.cnf

    1.Windows下MySQL的配置文件是my.ini,一般会在安装目录的根目录. 2.Linux下MySQL的配置文件是my.cnf,一般会放在/etc/my.cnf,/etc/mysql/my.c ...

  4. Mysql配置文件my.cnf详细说明

    [表名大小写配置] MySQL在Linux下数据库名.表名.列名.别名大小写规则:  1.数据库名与表名是严格区分大小写  2.表的别名是严格区分大小写  3.列名与列的别名在所有的情况下均是忽略大小 ...

  5. linux 下mysql的启动 、调试、排错

    Linux 下 MySQL 启动与关闭 说明 一.启动 1.1  MySQL 进程 可以用ps 命令查看进程: [root@rac2 ~]# ps -ef|grep mysql root     21 ...

  6. linux下MySQL安装登录及操作

    linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-cl ...

  7. Linux下MySQL的简单操作

    Linux下MySQL的简单操作 更改mysql数据库root的密码 首次进入数据库是不用密码的: [root@localhost ~]# /usr/local/mysql/bin/mysql -ur ...

  8. Linux下mysql安装过程

    到mysql官网下载mysql编译好的二进制安装包,在下载页面Select Platform:选项选择linux-generic,然后把页面拉到底部,64位系统下载Linux - Generic (g ...

  9. Linux下MySQL安装及配置

    Linux下MySQL安装及配置 安装MySQL Ubuntu系统中,直接使用apt install的方式去安装MySQL的服务端和客户端,MySQL的客户端必须安装,否则无法通过命令连接并操作MyS ...

随机推荐

  1. kafka项目中踩到的一个坑(客户端和服务器端版本不一致问题)

    启动项目时控制台抛出的异常信息: -- :: --- [ main] o.s.s.c.ThreadPoolTaskScheduler : Initializing ExecutorService 't ...

  2. ArcGIS Runtime SDK for iOS之符号和渲染

    符号定义了图形外观的非地理方面.它包括了图形的颜色.线宽.透明度等等.ArcGIS Runtime SDK for iOS包含了许多符号类,其中的每个类可以让你以独特的方式指定符号.每个符号的类型也是 ...

  3. Java知多少(90)菜单

    有两种类型的菜单:下拉式菜单和弹出式菜单.本章只讨论下拉式菜单编程方法.菜单与JComboBox和JCheckBox不同,它们在界面中是一直可见的.菜单与JComboBox的相同之处是每次只可选择一个 ...

  4. 【转】数据分析sql常用整理

    [SQL 数据分析常用语句] • 1 基础查询 • 2 字符串数字日期时间 • 3 聚合数据查询 • 4 子查询 • 5 联接组合查询 • 6 高级查询 • 7 更新数据 阅读提醒:点击图片放大可看清 ...

  5. asp.net Identity 设置自定义登录

    添加Startup.Auth.cs public partial class Startup { // For more information on configuring authenticati ...

  6. session一直报错Session store not set on request

    Route::group(['middleware' => ['web']], function () { //});仍然报错,看了 session是使用默认file,没问题:app/stora ...

  7. MTK 自定义系统服务

    添加系统服务需要添加aidl,service,manager文件,需要修改SystemServer,Context,ContextImpl 下面举例进行说明,主要添加一个服务,用于获取系统时间和版本号 ...

  8. [Python] 07 - Statements --> Functions

    故事背景 一.阶级关系 1. Programs are composed of modules.2. Modules contain statements.3. Statements contain ...

  9. c++中SetEvent和ResetEvent的使用

    关于事件 事件(Event)是WIN32提供的最灵活的线程间同步方式,事件可以处于激发状态(signaled or true)或未激发状态(unsignal or false).根据状态变迁方式的不同 ...

  10. Markdown 标题

    用 Markdown 书写时,只需要在文本前面加上 # 即可创建标题,Markdown 支持六级标题,语法及效果如下 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五 ...