Mysql四种通信协议(linux下本地连接的都是socket 其他都是tcp)
当连接mysql时,使用-h127.0.0.1时,linux与unix下的连接协议为socket协议,windows下为memory协议。
如: [root@mysql ~]# mysql -uandy -pandy -h127.0.0.1
当连接mysql时,使用非-h127.0.0.1时,使用tcp/ip协议。
如: [root@mysql ~]# mysql -uandy -pandy
以下详细描述了和MySQL server进行交互所使用各种不同通信协议:
1.TCP/IP协议
> 传输控制协议(Transmission Control Protocol)/互联网协议(Internet Protocol),是一套被用于连接互联网上各主机的通信协议。TCP/IP一开始是用于UNIX操作系统建立互联网通信的。现在它已经成为了一种网络数据传输的事实标准。即便那些拥有自己通信协议的网络操作系统,如Netware也支持TCP/IP协议。
2. Unix Socket协议
> 在计算机世界,一个socket是一种内部进程通信形式,它被用于在相同主机上形成进程间的双向通信连接点(在本地系统上的一个物理文件)。
3. Share Memory协议
> 一个在程序间传送数据的有效方法。一个程序会建立一个内存区以提供其它受允许的进程进行访问。Windows显式”passive”连接模式仅可工作于(Windows系统)主机中。
4. NT管道
>这种命名管道设计更偏向于客户端-服务器通信,它们更像socket:除了用于通常的读写操作外,Windows命名管道也同时对server应用支持显式”passive”被动连接模式。仅在单独(Windows平台)主机中运行。