这是我写的【重学MySQL系列】文章的第一篇文章。
之所以写这个系列的文章,是因为作为一名Web后端程序员
,需要经常与MySQL
打交道,不过更多的时候还是停留在增删改查(CURD
)的应用层面,然而随着负责项目的数据量增长和服务器硬件性能开始出现瓶颈,让我感觉有必要更加全面深入地学习与了解MySQL
,以便更好地发挥MySQL
的性能和提高使用MySQL
的能力。
MySQL整体架构
与所有服务端软件一样,MySQL
采用的也是C/S架构
,即客户端(Client
)与服务端(Server
)架构,我们在使用MySQL
的时候,都是以客户端的身份,发送请求连接到运行服务端的MySQL
守护进程,而MySQL
服务器端则根据我们的请求进行处理并把处理后的结果返回给我们,这个过程可以简单地抽像成下面的示意图:
![75c3570e0ccd1891d57264dccf1747f2.png](https://img-blog.csdnimg.cn/img_convert/75c3570e0ccd1891d57264dccf1747f2.png)
客户端(Client)
在安装后MySQL
之后,在其安装目录的bin
目录下,有一个mysql
命令,这就是一般我们所说的MySQL
客户端,不过这是MySQL
官方提供的命令行客户端。
在shell
输入mysql
命令,便可以开始连接MySQL
服务器了,如下:
$ mysql -u root -p
Enter password:*******
输入密码之后,便进入如下所示的MySQL
客户端交互界面:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 25338 to server version: 5.7.29-standard
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
上面的箭头表示等待输入,这就是说,我们可以发MySQL
服务器发送各种语句了。
输入q,exit,quit则可以退出客户端,如:
mysql>exit
Bye
除了MySQL
原生的命令行客户端,其