1.Mysql的連接方式
要了解Mysql的通訊協議,首先需要知道是以哪種連接方式去連接Mysql服務器的;Mysql的主要連接方式包括:Unix套接字,內存共享,命名管道,TCP/IP套接字等。
1.1Unix套接字
在Linux和Unix環境下,可以使用Unix套接字進行Mysql服務器的連接;Unix套接字其實不是一個網絡協議,只能在客戶端和Mysql服務器在同一臺電腦上才可以使用,使用方式也很簡單:
| root@root ~]# mysql -uroot -prootmysql> show variables like 'socket';+---------------+---------------------------+| Variable_name | Value |+---------------+---------------------------+| socket | /var/lib/mysql/mysql.sock |+---------------+---------------------------+1 row in set (0.00 sec) |
以上命令查詢Unix套接字文件的位置;
1.2命名管道和內存共享
在window系統中客戶端和Mysql服務器在同一臺電腦上,可以使用命名管道和共享內存的方式,
命名管道開啟:–shared-memory=on/off;
共享內存開啟:–enable-named-pipe=on/off;
1.3TCP/IP套接字
在任何系統下都可以使用的方式,也是使用最多的連接方式,本文要介紹的通訊協議也是基于此連接方式的,下面通過tcpdump對TCP/IP套接字有一個初步的了解:
服務器端:
| [root@root ~]# tcpdump port 3306tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on venet0, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes |
服務器端監聽3306端口(也就是Mysql的端口);
客戶端:
| C:/Users/hui.zhao>mysql -h64.xxx.xxx.xxx -uroot -prootmysql> exitBye |
客戶端連接服務器,然后斷開連接,這時候觀察服務器的監聽結果日志:
| [root@root ~]# tcpdump port 3306tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on venet0, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes02:06:25.442472 IP 153.3.251.202.33876 > root.mysql: Flags [S], seq 27289263, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 002:06:25.442763 IP root.mysql > 153.3.251.202.33876: Flags [S.], seq 2014324548, ack 27289264, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 002:06:25.617449 IP 153.3.251.202.33876 > root.mysql: Flags [.], ack 1, win 256, length 002:06:29.812946 IP root.mysql > 153.3.251.202.33876: Flags [P.], seq 1:57, ack 1, win 115, length 5602:06:29.992362 IP 153.3.251.202.33876 > root.mysql: Flags [P.], seq 1:63, ack 57, win 256, length 6202:06:29.992411 IP root.mysql > 153.3.251.202.33876: Flags [.], ack 63, win 115, length 002:06:29.992474 IP root.mysql > 153.3.251.202.33876: Flags [P.], seq 57:68, ack 63, win 115, length 1102:06:30.166992 IP 153.3.251.202.33876 > root.mysql: Flags [P.], seq 63:100, ack 68, win 256, length 3702:06:30.167109 IP root.mysql > 153.3.251.202.33876: Flags [P.], seq 68:158, ack 100, win 115, length 9002:06:30.536298 IP 153.3.251.202.33876 > root.mysql: Flags [.], ack 158, win 256, length 002:06:34.568611 IP 153.3.251.202.33876 > root.mysql: Flags [P.], seq 100:105, ack 158, win 256, length 502:06:34.568620 IP 153.3.251.202.33876 > root.mysql: Flags [F.], seq 105, ack 158, win 256, length 002:06:34.568751 IP root.mysql > 153.3.251.202.33876: Flags [F.], seq 158, ack 106, win 115, length 002:06:34.743815 IP 153.3.251.202.33876 > root.mysql: Flags [.], ack 159, win 256, length 0 |
|
新聞熱點
疑難解答