当前位置: 首页 > news >正文

1.4 MySql配置文件

既然我们开始学习数据库,就不能像大学里边讲数据库课程那样简单讲一下,增删改查,然后介绍一下怎么去创建索引,怎么提交和回滚事务。我们学习数据库要明白怎么用,怎么配置,学懂学透彻了。当然MySql的配置参数上百个,由于课程时间有限,所以我会挑选其中最重要的一些参数给同学们介绍一下。

我们知道MySql的配置文件叫做my.ini,这个配置文件里面能设置的东西非常的多,包括了数据库的字符集,端口号儿,数据目录的地址和日志文件等等,即便有再多的内容,从结构上看是可以分为三大块儿的,那这三大块儿第一块儿是client信息,这里边配置的是图形界面儿的设置。而第二块儿是MySql信息,这里配置的是命令行客户端的设置,那么第三块儿就是mysqld的信息,这里配置的是数据库的设置。

马上我们就要去打开mysql的配置文件了,所以我建议各位同学首先安装一个变色记事本的工具,因为Windows自带的记事本儿工具,打开配置文件,它里边的文字没有变色,所以看上去阅读起来非常的困难,所以说我建议同学们一定要安装一个变色记事本儿的工具,比如说有两个工具是我比较推荐的。第一个叫做notepad,加另外一个是微软出品的叫vscode,这两款变色记事本儿的工具都是免费的。你安装哪一个都行,安装的过程也非常的简单,不需要额外的去设置,直接就下一步就可以了。

现在我们打开my.ini文件。那么这个 # 是mysql里边的注解儿,所以说加 # 的部分就是一个注解儿的文字。那么这些文字不会并不会说让数据库启动的时候加载它们,这些注解儿文字数据库都会忽略掉的,所以说这些注解儿文字写的东西还挺多的,所以一会儿会把这些注解儿文字都给删掉。

下面写的东西就是port等于3306,因为这个client设置的是客户端的连接的一些设置。所以说下面的这个port等于3306,说的是如果客户端在连接数据库的时候没有指明这个端口儿,那么默认就连接3306端口。然后再往下,这个no-beep是什么意思?这个mysql配置的是命令行儿的这个客户端,那么命令行儿客户端里边在执行一些SQL语句的时候。如果执行出现了一些错误,不要发出这个蜂鸣菇,这个蜂鸣器的那个声音,因为我们主板有那个蜂鸣器,所以在开启电脑的时候这个主板会响一声儿,这个就是蜂鸣器的声音。

比如说咱们数据库默认端口儿在安装数据库的时候,咱们在图形界面儿里面可以设置,如果说那个时候你没设置,然后翻回头,你要想改的话没关系,我们改配置文件也可以把这个

1.port的参数,比如说你改成80008005,比如说90009200,反正你挑一个空闲的端口儿就行了。这是说了一下端口儿的这个修改,额外我说一句,就算是我们要改这个配置文件,改完以后保存,那怎么让这个配置文件生效?上一节课儿,我在这个powershell这个窗口儿里面告诉大家,这个关闭mysql服务的那个指令叫做night空格儿,stop空格儿,mysql80对吧?是把这个mysql服务停掉,然后也讲过怎么去开启mysql的服务,所以说我们修改完这个mysql的配置文件,你要想让它生效,最简单的办法就是mysql把mysql服务关上,然后重新再打开就行了。这样子,如果说你的配置文件写的没有问题,那么买mysql启动是没有问题的,是可以正常启动的。

2.datadir这个参数它配的是什么?

配的是数据目录所以我们看一下这个数据目录的地址,正好是那个隐藏目录。下面有一个叫做data的目录,对,这就是存放mysql数据的一个目录,后面儿我是加上我自己写的注解,让大家看得清楚一点儿。所以在后面儿加上 #号注解是没有问题的,这个是不会引发语法错误,那有同学说老师,那比如说我现在想让我的这个mysql的数据目录迁移到,比如说D盘迁移到其他的盘符下,可不可以?可以,那你就把这个data目录这个拷贝一下,拷贝到其他的目录地址下面,然后你把这个参数修改一下,同时去重新启动一下,mysql 服务就可以了,这样子咱们的这个数据目录就迁移到其他的盘。

3.mysql的密码认证插件

4.mysql默认的存储引擎

mysql数据库很有意思,它是支持很多存储引擎的,当然它自带了一些存储引擎。比如说my ISM引擎,比如说我们现在最经典的一个引擎叫做inno DB。我们用的最多的这个引擎就叫做inno DB,因为这个引擎是支持事务的,有了事务机制以后,我们才能保存重要的数据。如果没有事务机制,像那个my ISM引擎,它就不适合保存重要的数据。

5.sql-mode 设置数据库模式的

那么在这里边打开的这个模式,是开启了严格的模式,什么叫严格儿模式?就是以前这个mysql数据库,在对一些数据类型儿的检查上,并不是很严格,比如说我规定了这个数据表里边某一个字段,比如说类型儿是字符串的,但是你往这个字段里面保存了一个数字,mysql也是允许的,他会把这个数字转成字符串儿,然后再保存,这是比较宽泛的一个数据的一个模式。但是我们换上这个严格模式以后,那就没有这个数据类型转换了,数据类型不对,那对不起,我就直接给你抛错,你就不能存是这意思。

6.log-output

log这个名字上理解起来就是日志的文件呗,对吧?日志输出的意思,那我们来看它的值等于file,就是说用文件来记录mysql的日志。那这个日志的这个功能默认是被关上的,它的这个值是0,默认是没有开启日志文件的。

7.日志文件名称

再往下就是如果说开启了日志文件,那这个日志文件的名字叫什么?那么这块儿规定了一个日志的文件名字,当然你可以改,改成你自己喜欢的名字都可以的,名字都可以,但是你要想打开这个日志的功能,这块儿的值必须得是一,这是我提醒你一下

8.慢查询日志

然后再往下就是mysql的这个慢查询日志的这个功能是否要开启,因为mysql,在执行这个sql语句的时候,有的sql语句执行的很快,有的sql语句半天也没有执行完,所以说我们在优化这个数据库的时候,在查找为什么这个sql语句执行速度这么慢,查找原因的时候,我们必须得记录这个sql语句执行的一个过程,所以说我就必须要记载下来这个过程,那就是用文件来记录。所以这个是slow query log,这个等于一就开启了慢查询日志,然后我下面有些参数可以规定,就是说这个sql语句执行的时间超过多少秒,就会被判定是执行速度比较慢,我们要记录它。所以这里面我可以规定,比如说10秒,超过10秒,你这个sql语句还没有执行完,那对不起,我就一定要把你算作是慢查询的sql了。慢查询文件名称也可以随便修改,但是要把mysql文件重启之后才会生效

9.log-error 错误日志

再往下就是mysql的这个错误日志,如果有错误信息,那就直接是保存到这个文件里边就行了,这个是错误的这个日志的配置,

10.server-id

server-id对我们来说并不是很重要,什么时候会用到这个参数?就是mysql集群的时候会用到它。因为我们用多个mysql数据库组成集群,那我一定是要区分好这些数据库,它们之间的区别,拿什么来区别?那就是用它们的这个ID值。这个ID值只能是整数,那么也就是说组建集群的时候,这些少这些数据库节点的ID值前提是整数,而且不能重复就可以了,这样子我们就能把它组建起集群了,但是现在我们是单节点单击去用这个mysql,所以这个server-id等于1等于100,等于1万,对我来说都没什么影响,所以这个参数我们就略过。

11.lower_case_table_names

lower case table names等于1,代表什么意思?就是说我们在创建表儿的时候,这个表名儿就算你大写了,那么在保存的时候,我也要把这个表名儿统一存成是英文的小写

12.导入导出目录地址

比如说我想把某一些表儿的数据导出来,那这个导出的这个数据存放在什么目录下面?包括导入数据,也是你想把某一个文件的数据导入到mysql里面,那你就把文件保存到目录里面,然后我们用sql语句就能把数据导入了。

13.最大连接数

然后再往下这个参数叫做max_connections,这个是mysql最大支持的连接的客户端的数量,那么是151。当然这个值可以根据我们的硬件儿条件可以改大一些,如果说改成2000,或者改成2万,你不是硬件儿服务器的配置估计是带不起来的。

14.线程数量

然后再往下还有一个参数,我要重点的说一下,就是这个线程的数量,大家看一下,我们也知道计算机是多线程的,那么这个数据库它的这个读写速度能提升,也是托了多线程的服,那这里这个线程数量默认是10,我也不用去改。因为大家都是台式机的,这个家用机的这个配置并不是硬件儿服务器的配置,所以说这个值我就不去改了,如果说你是在数据库服务器上,这个值可以改大一些。比如说你把这个值改成20,改成30,这个就看你的硬件儿配置了,那么重点的参数我就介绍这么多吧,还有一些其他的参数,比如说这个缓存的大小,等将来我再讲数据表儿的时候用到这个参数了,那我就再给大家去详细的讲解吧。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • uniapp js判断key是否在json中?
  • [LLM 学习笔记] Transformer 基础
  • [3]Opengl ES着色器
  • 【数据库选择】选择合适的数据库(MongoDB、PostgreSQL、Couchbase)以支持复杂 JSON 数据的增删改查
  • spring springboot 日志框架
  • 共享wifi公司哪家正规合法?具体流程全公开!
  • B+树(B+TREE)索引
  • 报表做着太费劲?为你介绍四款好用的免费报表工具
  • 安全热点问题
  • vue/配置axios(前后端数据连通/api接口的调用)
  • Java_Day05学习
  • SpringBoot技术栈的网上超市开发实践
  • SpringBoot 结合 SpringSecurity 对于用户 登陆 和 登出 的设计思考
  • GPIO与MIO控制LED——ZYNQ学习笔记2
  • 计算机视觉方面的一些模块
  • __proto__ 和 prototype的关系
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Android优雅地处理按钮重复点击
  • CentOS6 编译安装 redis-3.2.3
  •  D - 粉碎叛乱F - 其他起义
  • eclipse的离线汉化
  • flask接收请求并推入栈
  • Javascript设计模式学习之Observer(观察者)模式
  • javascript数组去重/查找/插入/删除
  • JS题目及答案整理
  • k个最大的数及变种小结
  • LeetCode18.四数之和 JavaScript
  • orm2 中文文档 3.1 模型属性
  • Rancher如何对接Ceph-RBD块存储
  • ⭐ Unity + OpenCV 实现实时图像识别与叠加效果
  • use Google search engine
  • 浮动相关
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #{}和${}的区别是什么 -- java面试
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • (C#)一个最简单的链表类
  • (function(){})()的分步解析
  • (SpringBoot)第七章:SpringBoot日志文件
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)换源+apt-get基础配置+搜狗拼音
  • (分布式缓存)Redis分片集群
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (循环依赖问题)学习spring的第九天
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • *** 2003
  • ***测试-HTTP方法
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...