mysql的学习过程1

如何安装mysql

mysql官网地址
Oracle 帐户登录后完成下载(可以根据自己的需要下载对应的版本)
跳过关于系统变量和环境变量的设置

如何启动mysql

mysql服务端:
mysql提供了多种的启动方式,简单的方式
mysqld直接启动一个服务端的进程
mysqld_safe启动一个脚本,包括一个监控进程,和一个服务端进程,能够帮助服务端异常后重启
mysql.server启动脚本,会间接的调⽤mysqld_safe,命令mysql.server start或者stop
mysqld_multi在一个服务器上启动多个mysql进程,监控多个进程

mysql客户端:
常用的启用客户端
mysql -h主机名 -u⽤户名 -p密码
mysql -h127.0.0.1 -umashunixn -p123456 -P3306

常用的链接客户端和服务端方式一般为TCP/IP连接,因为真实环境中客户端和服务端在不同的服务器上,当然测试中mysql还提供了管道和共享内存的方式建立连接,进行通信。(unix套接字的方式,好像没理解这是怎么通信的)
附图:执行过程

关于启动选项和系统变量

启动选项:通过启动的时候在命令后面跟着–的方式加对应的命令项,对当次启动生效。增加配置文件的方式,启动的时候加载配置文件里面的配置,每次启动都会搜索配置文件,存在优先级和覆盖的情况
系统变量:大部分的系统变量都可以在启动设置里配置好,有一些系统变量只有在程序启动之后才能看到。另外系统变量可以无需重启服务设置,允许系统在运行的过程中修改,不建议反复修改。

系统变量分两种全局变量和会话变量:显而易见,会话变量session控制范围,只包括这次客户端和服务端的链接过程中生效,而全局变量个人理解最大的作用是提供一个默认值。会话变量的初始值也是由全局变量带过来的,所以当我们修改了全局变量之后,新增的链接的session变量才会更新,之前的会话变量还是没有被改变

支持的存储引擎

mysql支持的存储引擎挺多,重点还是那么几种(简单介绍下先)
在这里插入图片描述
InnnoDB:默认的存储引擎,支持事物,支持分布式事务,支持回滚
MyISAM:对于select支持更好

mysql中的字符集和比较规则

一些重要的字符集
ASCII字符集:共收录128个字符,包括空格、标点符号、数字、⼤⼩写字母和⼀些不可见字符。由于总共才128个字符,所以可以使⽤1个字节来进⾏编码
ISO 8859-1字符集 :共收录256个字符,是在ASCII字符集的基础上又扩充了128个西欧常⽤字符(包括德法两国的字母),也可以使⽤1个字节来进⾏编码
GB2312字符集: 收录了汉字以及拉丁字母、希腊字母、⽇⽂平假名及⽚假名字母、俄语西⾥尔字母。其中收录汉字6763个,其他⽂字符号682个。同时这种字符集又兼容ASCII字符集,所以在编码⽅式上显得有些奇 怪: 如果该字符在ASCII字符集中,则采⽤1字节编码。 否则采⽤2字节编码。
GBK字符集: GBK字符集只是在收录字符范围上对GB2312字符集作了扩充,编码⽅式上兼容GB2312。
utf8字符集: 收录地球上能想到的所有字符,⽽且还在不断扩充。这种字符集兼容ASCII字符集,采⽤变长编码⽅式,编码⼀个字符需要使⽤1~4个字节
**mysql支持的字符集 **:
mysql字符集
utf8mb3:阉割过的utf8字符集,只使⽤1~3个字节表⽰字符。
utf8mb4:正宗的utf8字符集,使⽤1~4个字节表⽰字符。

字符集对应的比较规则
MySQL有4个级别的字符集和⽐较规则,分别是:
服务器级别 :character_set_server服务器的字符集,collation_server服务器的比较规则
数据库级别:character_set_database数据库的字符集,collation_database数据库的比较规则
表级别
列级别
字符集和⽐较规则是互相有联系的,如果我们只修改了字符集,⽐较规则也会跟着变化,如果只修改了⽐较规则,字符集也会跟着变化,具体规则如下:
只修改字符集,则⽐较规则将变为修改后的字符集默认的⽐较规则。
只修改⽐较规则,则字符集将变为修改后的⽐较规则对应的字符集。

从客户端到服务端的字符集转化过程
character_set_client 服务器解码请求时使⽤的字符集
character_set_connection 服务器处理请求时会把请求字符串从character_set_client转为character_set_connection
character_set_results 服务器向客户端返回数据时使⽤的字符集
服务端和客户端请求加解码过程
如果character_set_connection设置和数据库表设置的编码格式不一样,可能还会出现过程中加解码。所以在设置的过程中,一般设置成同一种编码

过程一总结

·1.mysql分为客户端和服务端,建立通信的过程一般为TCP/IP
·2.mysql客户端到服务端的有缓存的机制,查询不到缓存的内容才会走校验优化查询
·3.mysql大部分系统变量可以在启动选项里设置
.4.mysql默认的存储引擎为InnnoDB,支持自定义
.5.mysql的字符集都有对应的比较规则,使用排序的过程中如果出现不是预期的结果,可以检查字符集和排序过程
.6.mysql的比较规则带.ci不区分大小写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值