Mysql 文件配置解析介绍


Posted in MySQL onMay 06, 2022

前言:

mysql数据库在日常工作开发中经常用到的存储设备, 之前已经分享了面试过程中经常被问到的mysql优化的内容,本期就结合mysql的配置文件进行分析。这里需要说明的是, 在windows系统的配置文件为 my.ini, 而在Linux上的配置文件为my.cnf

client 端配置

在客户端的配置文件 主要包括 mysql 的服务端口,已经 mysql 连接通信文件,以及客户端连接的字符集。

[client]
#客户端设置
port=3306
socket=/data/mysql/data/mysql.sock
default-character-set=utf8mb4

mysqld 端配置

# 服务端文件配置
[mysqld]
# mysql 服务启动时的用户
user=mysql
# 服务启动的默认端口
port=3306
#mysql的客户端和服务端之间建立通信时需要指定一个通信stock文件
socket= /data/mysql/data/mysql.sock
#mysql服务的ID,在主从同步时来标记服务的唯一身份
server-id=1
# 端口的ip绑定,这里和redis的端口绑定类似,如果是0.0.0.0标识允许所有的远程访问,127.0.0.1表示只能是本地访问,如果固定ip则只能接受改ip的远程访问。
bind-address = 0.0.0.0
# linux 中一切皆文件,mysql服务启动后会记录进程id到改文件中,用于记录服务的运行情况
pid-file=/data/mysql/data/mysql.pid
#mysql服务的安装目录
basedir=/usr/local/mysql
#mysql服务的数据数据存放目录
datadir=/data/mysql/data/
#数据库系统磨人的字符集合排序方式,这里说一下ci和cs的区别,就是大小写敏感和不敏感 ci 就是 case ignore cs 就是 case senstive
character_set_server=utf8mb4
collation_server=utf8mb4_general_ci

其他设置

#表名称和表字段是否区分大小写1 表示区分大小写,0表示区分大小写
lower_case_table_name=1
# 创建新表时使用的默认数据库引擎
default-storage-engine=INNODB

sql_mode

sql_mode 是 mysql 中一个重要的配置项,其定义了支持的 sql 语法和数据校验规则。

  • sql 模式设置: ANSI 是宽松模式,对数据插入进行校验,如果不符合数据定义和长度,对数据类型调整或者截断保存,给出 warning 警告。STRICT_TRANS_TABLES 严格模式,严格校验保证错误格式的数据不能插入,报 error 错误,只对事务操作起作用,非事务操作不起作用。TRADITIONAL 严格模式,在插入数据时进行严格校验,保证错误数据不能插入并报 error 错误。作用于事务时会回滚事务。
  • 是否接受日期格式为 0。NO_ZERO_DATE 是否允许 '0000-00-00' 日期被插入。如果不启用,则 '0000-00-00' 允许插入没有 waring 提示信息。如果启用配置则 '0000-00-00' 允许插入有提示信息。如果是严格模式且启用配置,则'0000-00-00' 不允许插入并产生 error 错误。但是 insert ingore 或者 update ignore 的 sql 除外。NO_ZERO_IN_DATE 和 NO_ZERO_DATE 是类似的,只不过接受的日期为 '2010-00-01' 或者 '2010-01-00', 而不是 '0000-00-00'。
  • ONLY_FULL_GROUP_BY 该模式下对于 group by 聚合操作,在 select 中的列,如果没有在 group by 中出现,将会认为这个 sql 不合法。
  • NO_AUTO_CREATE_USER 禁止创建密码为空的用户。
  • NO_ENGINE_SUBSTITUTION 当存储引擎禁用或者未解析时,使用存储引擎就会报错。
  • NO_AUTO_VALUE_ON_ZERO 自增数据列设置,默认情况下,插入 0 或者 null 则代表下一个自增值,如果用户希望插入数据为 0 但是该列为自增,此时需要设置改配置。
  • Mysql InnoDB 的内存结构 在 insert 或者 update 数据时,如果数据除零,则产生错误而非警告。

常用的配置如下所示:

sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

总结

本文讲述了 mysql 的主要配置文件的作用,innodb 引擎是 mysql 数据库中的重要部分,关于这一块儿的知识,前文已经分享过了,不再赘述。到此这篇关于Mysql 文件配置解析的文章就介绍到这了!

MySQL 相关文章推荐
MySQL时间盲注的五种延时方法实现
May 18 MySQL
.Net Core导入千万级数据至Mysql的步骤
May 24 MySQL
MySQL REVOKE实现删除用户权限
Jun 18 MySQL
MySQL系列之开篇 MySQL关系型数据库基础概念
Jul 02 MySQL
MySQL深度分页(千万级数据量如何快速分页)
Jul 25 MySQL
MySql子查询IN的执行和优化的实现
Aug 02 MySQL
如何避免mysql启动时错误及sock文件作用分析
Jan 22 MySQL
MySQL 条件查询的常用操作
Apr 28 MySQL
MySQL数据库Innodb 引擎实现mvcc锁
May 06 MySQL
了解MySQL查询语句执行过程(5大组件)
Aug 14 MySQL
mysql数据库如何转移到oracle
Dec 24 MySQL
MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决
Dec 24 MySQL
MySQL数据库中的锁、解锁以及删除事务
May 06 #MySQL
mysql性能优化以及配置连接参数设置
May 06 #MySQL
Mysql InnoDB 的内存逻辑架构
详细介绍MySQL中limit和offset的用法
May 06 #MySQL
MySQL数据库Innodb 引擎实现mvcc锁
May 06 #MySQL
讲解MySQL增删改操作
May 06 #MySQL
解决Mysql报错 Table 'mysql.user' doesn't exist
You might like
DC游戏Steam周三特惠 《蝙蝠侠》阿卡姆系列平史低
2020/04/09 欧美动漫
php设计模式 Command(命令模式)
2011/06/26 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
2012/09/13 PHP
PHP中Fatal error session_start()错误解决步骤
2014/08/05 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
PHP register_shutdown_function()函数的使用示例
2015/06/23 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
微信小程序 下拉列表的实现实例代码
2017/03/08 Javascript
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
详解小程序rich-text对富文本支持方案
2018/11/28 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
JS实现简易留言板增删功能
2020/02/08 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
Node.js中的异步生成器与异步迭代详解
2021/01/31 Javascript
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python清除指定目录内所有文件中script的方法
2015/06/30 Python
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
python Web开发你要理解的WSGI & uwsgi详解
2018/08/01 Python
Python递归函数 二分查找算法实现解析
2019/08/12 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
HTML5实现页面切换激活的PageVisibility API使用初探
2016/05/13 HTML / CSS
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
客户经理岗位职责
2013/12/08 职场文书
幼儿教师工作感言
2014/02/14 职场文书
幼儿教师培训感言
2014/03/08 职场文书
学校火灾防控方案
2014/06/09 职场文书
影视广告专业求职信
2014/09/02 职场文书
高三复习计划
2015/01/19 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
售后服务承诺函格式
2015/01/21 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
机器人瓦力观后感
2015/06/12 职场文书