一、初识mysql
1、mysql数据库实例:运行mysql服务器程序的进程
2、启动mysql客户端程序,参数-h 计算机的ip地址,-u用户名,-p密码
3、客户端和服务器连接过程,客户端进程向服务器进程发送请求并得到响应的过程本质上是进程之间的通信
3.1TCP/IP mysql服务器在启动时会默认申请3306端口号,可以通过启动服务器进程的命令行添加-P参数来指定端口号
3.2 命名管道 启动服务器命令行加上--enable-named-pipe 在客户端加上--protocol=pipe
3.3 共享内存 启动服务器命令行加上--shared-memory 在客户端加上--protocol==memory
4、服务器处理客户端请求(客户端向服务器发送文本mysql语句,服务器向客户端返回结果)
4.1 连接管理:当有一个客户端进程连接到服务器时,服务器都会创建一个线程与它打交道,当该客户端退出时,服务器并不会立即将线程销毁,而是将它缓存起来,当有新的客户端时,就把缓存分配给它,节省了开销,
4.2 解析和优化
4.2.1 查询缓存:服务器会把刚刚处理的查询请求和结果缓存起来,如果有相同的请求 直接从缓存中取。查询缓存会在不同的客户端之间共享,只要修改了表,与 表相关的缓存都会被删除
4.2.2 语法解析:如果换粗没有命中,mysql服务器对文本进行分析,判断语法是否正确。
4.2.3 查询优化
4.3 存储引擎:物理上怎么表示记录,怎么从表中读取数据,怎么把数据写在物理存储器上
常见操作:
(1)服务器支持的引擎: show engines
(2)创建表时 设置存储引擎 create table 表名() engine=InnoDB
(3)修改表存储引擎 alter table 表明 engine=MyISAM
二、mysql启动选项和系统变量
1、在命令行使用选项
1)--skip--networking 禁止使用TCP/IP网络进行通信
2)--default-storage-engine=MyISAM
2、配置文件中使用选项
windows配置文件路径:BASEDIR\my.ini
可以通过--default-extra-file指定额外的配置文件路径
配置文件以[ ]为一个组 例如
[server]
option1
option2=value2
3、系统变量
查看系统变量 show variables like
通过启动选项设置系统变量 --max-connection
服务器程序运行过程中设置
global:影响服务器的整体操作
session:影响某个客户端连接的操作
set [global|session] 系统变量名=值
4、状态变量
查看状态变量语句show status like