浅析mysql-server 与 mysql-client 的区别
提一个问题,如何在docker中用mysql容器启动两个服务实例:mysql-server,且他们的数据互通,再启动一个mysql-client?
详解:
首先附一个链接,是讲解mysql-client和server的区别的:
https://stackoverflow.com/questions/6962890/what-is-the-difference-between-mysql-server-and-mysql-client
然后说一下讨论的内容和结论:
我之前疑惑的点是,都说client是要登陆(host -u -p)的,但是我在使用server时,也要登陆(-u -p)啊,所以理所当然地产生了一个想法就是,client与server的区别就是要不要连host,不连host的就是server,但是这个观点其实不太对。
本质上的区别是:server是执行一个crud操作,client是发送一个crud操作。
server是把sql语句翻译成对内存和文件的操作,也就是说,server是直接操作文件的。
而client是对数据库/表进行操作,不是直接对文件进行操作。
举个例子:
①client:我用一个Navicat去链接一个数据库,这个Navicat就是client。
②server:我有多个mysql服务实例,他们可以位于不同的端口(这句不重要),但是他们是挂载在了宿主机同一个目录下的(这句重要,对内存/文件进行操作了),而且数据共享(这句也不重要)。
小知识点:
①sql只是去知道server如何去操作数据。
②即使C/S在同一台机器上,他们也是通过网络通讯的。
更多Mysql相关问题请访问PHP中文网:https://www.php.cn/以上就是浅析mysql-server 与 mysql-client 的区别的详细内容,更多请关注小潘博客其它相关文章!