首页 > 数据库 >一文搞懂MySQL客户端/服务器运行架构

一文搞懂MySQL客户端/服务器运行架构

时间:2022-09-29 14:01:46浏览次数:42  
标签:服务器程序 MySQL 客户端程序 mysql 服务器 搞懂 客户端

前言

之前对MySQL的认知只限于会写些SQL,本篇开始进行对MySQL进行深入的学习,记录和整理下自己对MySQL不熟悉的地方。如果有需要可以关注我的专栏一起学习,共同进步!关于mysql的安装就不说了,直接从mysql的客户端/服务器运行架构开始学习。Let′s go~

MySQL客户端/服务器架构

MySQL其实跟我们平时使用的程序一样,是由两部分组成的,一部分是客户端程序,一部分是服务器程序。

  • MySQL服务器程序直接和我们存储的数据打交道,客户端啊连接服务器,发送增删改查的请求,服务器操作维护的数据响应请求。MySQL服务器程序的进程也被称为MySQL数据库实例。
  • MySQL客户端都需要用户名和密码才能登录,登录之后才能给服务器发送请求来操作某些数据。

我们日常使用MySQL的情景一般是这样的

一文搞懂MySQL客户端/服务器运行架构_mysql

  1. 启动MySQL服务器程序。
  2. 启动MySQL客户端程序并连接到服务器程序。
  3. 在客户端程序中输入一些sql命令语句作为请求发送到服务器程序,服务器程序收到这些请求后,会根据请求的内容来操作具体的数据并向客户端返回操作结果。

MySQL客户端连接服务器

在成功启动MySQL服务器程序后,就可以启动客户端程序来连接到这个服务器了。我们可以通过mysql可执行文件与服务器程序交互,进行发送请求并接收服务器的处理结果。启动格式如下:

mysql -h主机名 -u用户名 -p密码

示例:

mysql -hlocalhost -uroot -p123456

出现如下界面就表示连接成功了。

一文搞懂MySQL客户端/服务器运行架构_客户端_02

注意事项:最好不要在一行命令中输入密码,我们直接输入的是明文可能会被同一台机器上的其他用户看到,我们可以通过如下命令分为两步进行操作

mysql -hlocalhost -uroot -p

按回车之后才会提示输入密码。

客户端与服务器连接的过程

运行着的服务器程序和客户端程序本质上都是计算机上的一个进程,所以客户端进程向服务器进程发送请求并得到响应的过程本质上是一个进程间通信的过程。MySQL支持三种客户端进程和服务器进程的通信方式:

TCP/IP

真实环境中,数据库服务器进程和客户端进程可能运行在不同的主机中,它们之间必须通过网络来进行通信。MySQL采用TCP作为服务器和客户端之间的网络通信协议。我们可以通过IP地址 + 端口号的方式来与这个进程连接,命令行中添加-P(大写P)参数来指定端口号,格式如下:

mysql -hlocalhost -P3306 -uroot -p123456

MySQL服务器默认监听3306端口;

命名管道和共享内存

这种通信方式是windows操作系统中的两种进程间通信方式;如果没听说或可以忽略,不重要。

Unix域套接字文件

这种方式要求客户端和服务器运行在同一台类Unix的操作系统上;

小结

MySQL采用客户端/服务器架构,用户通过客户端程序发送增删改查需求,服务器程序收到请求后处理,并且把处理结果返回给客户端。

MySQL客户端可以通过TCP/IP、命名管道和共享内存、Unix域套接字文件三种方式进行连接MySQL服务器,主要掌握TCP/IP的方式就可以。

标签:服务器程序,MySQL,客户端程序,mysql,服务器,搞懂,客户端
From: https://blog.51cto.com/u_15773567/5722545

相关文章

  • mysql grant
    目录mysqlgrant基本语法基本权限设置高级权限、细分权限查询权限回收权限授予权限mysqlgrant基本语法grant权限on数据库对象to用户identifiedby密码用户一......
  • MySQL 8新特性--角色
    3.角色从MySQL8.0开始支持角色,和Oracle中的角色一样,角色就是权限的集合。MySQL中当前支持的关于角色的相关操作和变量:CREATEROLE和DROPROLEGRANT和REVOKESHOWGRANTSSET......
  • MySQL 8新特性--原子DDL
    ###1.AtomicDDL—原子DDL从MySQL8.0开始支持原子DDL,原子DDL语句就是将和DDL操作关联的数据字典更新,存储引擎内部操作和二进制日志写入操作组合到单个,原子事务中。即使数据......
  • mysql
    参考链接:https://blog.csdn.net/guoqi_666/article/details/122484535sql优化技巧:   1避免使用select*很多时候,我们写sql语句时,为了方便,喜欢直接使用select*,......
  • MYSQL小记,SQL查询,如果有更新时间则优先按更新时间倒序,没有则按创建时间倒序
    selectnow()fromdualORDERBYIFNULL(update_date,create_date)DESCIFNULL函数说明IFNULL(expr1,expr2)如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr......
  • MySQL--SQL基础语句--2022年9月28日
    第一节  数据库相关概念 第二节  MySQL安装及启动1、MySQL安装及启动自行查看文档,这里不多笔记2、关系型数据库是什么 3、数......
  • MySQL数据库-数据表(下)
    SELECT定义:SQL的SELECT语句可以实现对表的选择、投影及连接操作。即SELECT语句可以从一个或多个表中根据用户的需要从数据库中选出匹配的行和列,结果通常是生成一个......
  • CentOS7下安装MySQL5.7
    1、下载MySQL,地址:https://dev.mysql.com/downloads/mysql/5.7.html2、Linux服务器根目录下新建两个文件夹:1)、tool文件夹,存放软件安装包2)、xz文件夹,存放安装后的......
  • MySQL目录结构和SQL的基本概念
    MySQL目录结构Data目录和my.ini文件有时并不放在MySQL的安装目录下,而是在配置文件中自己指定的目录下。一般情况下,C盘下的ProgramData目录是隐藏的,需要取消隐藏(1......
  • 高性能MySQL-第3版 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/12ao5Tu4Hrpr1F2wfUXwAvg点击这里获取提取码   ......