提一个问题,如何在docker中用mysql容器启动两个服务实例:mysql-server,且他们的数据互通,再启动一个mysql-client? 详解: 首先附一个链接,是讲解mysql-client和server的区别的: 然后说一下讨论的内容和结论: 我之前疑惑的点是,都说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中文网:javascript:; (责任编辑:admin) |