MySQL客户端与MySQL服务器的通信方式有两种:
1.通过"named pipe"的方式
named pipe(命名管道)只是针对在本地主机上,建立从本机MySQL客户端对本机MySQL服务器的连接进而通信的,虽然这种通信方式比通过TCP/IP方式在本机利用端口(3306)更安全,但是只有通过TCP/IP方式才能达到本机SQL客户端到远程SQL服务器之间的通信连接,所以named pipe方式对于远程访问是无效的,要想达到远程访问的目的,即Win本地SQL客户端到Linux远程SQL服务器,只能通过socket方式。
2.通过"TCP/IP"的方式,也可以称为socket方式
这种方式主要是通过相关TCP/IP协议通过占用某个端口来达到不同机器之间的访问。
下面通过具体的配置来探讨一下本机下SQL客户端与服务器之间的通信方式:
1.named pipe
配置my.ini文件如下:
[client]
pipe
socket=mysql # socket=/var/lib/mysql/mysql.sock
[wampmysqld]
skip-networking
enable-named-pipe
socket=mysql # socket=/var/lib/mysql/mysql.sock
转到Navicat9下进行连接测试:
"General"下面配置:
注意:无效的灰色部分显示。
”Advanced“下面选中并配置:
只有配好这些,连接才能成功。
2.TCP/IP
配置my.ini文件如下:
[client]
port=3306
[wampmysqld]
port=3306
# skip-networking
转到Navicat9下进行连接测试:
只需要配置"General"即可:
并取消”Advanced“下面的管道配置:
备注:Linux下的进程通信请参考:http://www.doc88.com/p-400265717592.html