mysql 基本

MySQL 是单进程多线程的

 

 

MySQL执行过程

连接器,管理连接,权限验证

查询缓存

分析器,词法分析,语法分析,语法树,检查语法是否有错误

预处理器,进一步检查解析树是否合法,如表名是否存在等

优化器,选择索引,生成执行计划

执行器,操作引擎,返回结果,并将结果缓存

 

如果查询中包含任何用户自定义函数、存储函数、用户变量、临时表、mysql库中的系统表,其查询结果都不会被缓存。比如函数NOW()或者CURRENT_DATE()。查询缓存系统会跟踪查询中涉及的每个表,如果这些表(数据或结构)发生变化,那么和这张表相关的所有缓存数据都将失效。任何的查询语句在开始之前都必须经过检查,即使这条SQL语句永远不会命中缓存。如果查询结果可以被缓存,那么执行完成后,会将结果存入缓存,也会带来额外的系统消耗

 

 

 

 

 

 

 

默认页为16KB

 

自增达到最大值,再插入会报错

 

 

 

mysql5.6,提供了线上修改表结构的功能,会自动创建新表,将旧表的数据复制到新表中,只有当前被复制的记录会被上锁,旧表可以执行其他任务,对旧表的操作记录到日志中,复制完后对新表执行同样的操作,然后用新表替换旧表。

 

 

 

 

docker

创建容器

dk run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -v c:/Users/Administrator/test_docker/mysql/data:/var/lib/mysql -d mysql

 

进入容器

dk exec -it mysql /bin/bash

 

进入mysql

mysql -uroot -p123456

 

 

修改字符集编码

mysql配置文件my.ini,

default-character-set=utf8

character-set-server=utf8

 

help show 查看show命令的帮助

show status 查看状态

show character set 查看字符集

 

posted @ 2020-05-27 19:39  是的哟  阅读(115)  评论(0编辑  收藏  举报