Mysql 文件配置解析
作者:??斜月???? 发布时间:2024-01-26 10:01:54
前言:
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
来源:https://juejin.cn/post/7056349239558799374


猜你喜欢
- Jupyter是一个在线的代码编辑工具,想要调用本地的文件则需要切换路径到相应的文件路径下切换路径要在打开Jupyter之前完成操作:cd
- 本文将介绍在InterDev中实现网上商店购物车功能的方法,具体步骤如下:一、 数据库结构:产品数据表(Products): 存放产品信息产
- 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数
- 一、表单验证form1、创建一个新的表单:<form id="id是唯一的,不可重复" name=“可重复”,me
- 本文实例为大家分享了Python实现俄罗斯方块游戏的具体代码,供大家参考,具体内容如下玩法:童年经典,普通模式没啥意思,小时候我们都是玩加速
- Python字符串和字典相关操作的实例详解字符串操作:字符串的 % 格式化操作:str = "Hello,%s.%s enough
- 使用邻接矩阵实现图及Dijkstra算法# 邻接矩阵实现无向图 Dijkstra算法inf = float("inf")
- 反射在Python中,能够通过一个对象,找出type、class、attribute或者method的能力,成为反射。函数与方法内建函数:g
- 目录一.权限简介二.权限表结构设计:第一版三.权限表结构设计:第二版四.客户管理之动态“一级”菜单五.客户管理之动态“二级”菜单六.客户管理
- 数据集数据集为Barcelona某段时间内的气象数据,其中包括温度、湿度以及风速等。本文将利用CNN来对风速进行预测。特征构造对于风速的预测
- [Hack] 意为”劈”、”砍”。 [Hacker] 意为”黑客”CSS Hack 是指针对不同的浏览器写不同的CSS code的过程,简单
- 1、启动SQL Server Management Studio,以Windows身份验证方式登录。2、在对象资源管理器窗口中,右键单击服务
- 本文实例讲述了python修改操作系统时间的方法。分享给大家供大家参考。具体实现方法如下:#-*- coding:utf-8 -*-impo
- 数字运算=:用于给变量赋值type(x):查看数据所属类型isinstance(x, A_tuple):判断数据是否为预期类型+:两个数相加
- 导语周末、假期来了,七夕也快到了,又到一年中最一票难求的时候了!那些假期想回家、过节异地恋的小可爱们,能准时抢到回家(约会对象)的城市票嘛?
- 使用循环神经网络(RNN)实现影评情感分类作为对循环神经网络的实践,我用循环神经网络做了个影评情感的分类,即判断影评的感 * 彩是正面的,还是
- 本文实例讲述了django框架F&Q 聚合与分组操作。分享给大家供大家参考,具体如下:F 使用查询条件的值,专门取对象中某列值的操作
- 桥接模式(Bridge Pattern)是什么桥接模式是一种结构型模式,它将抽象部分与实现部分分离开来,使它们可以独立地变化。在桥接模式中,
- substr 定义和用法 substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。 语法 stringObject.
- 一、系统资源使用限制的必要性探讨对于一个脚本,最基础的限制是要限制单进程实例以保证了不会存在多个进程实例、在运行程序主体逻辑前检测系统资源剩