4. 连接Mysql
之前我们说过
Mysql
设计成一个单进程多线程架构,Mysql
实例在系统上表现是一个进程。
连接
Mysql
操作是一个连接进程 和Mysql
数据实例进行通信。从程序设计角度,本质是进程的通信。
常用的进程通信方式有:管道、命名管道、命名字、TCP/IP套接字、UNIX域套接字。
4.1 TCP/IP
TCP/IP套接字方式是Mysql在任何平台下都提供的连接方式,这种方式在TCP/IP连接上建立一个基于网络的连接请求。
4.2 命名管道和共享内存
在Windows 2000、Windows XP、Windows 2003 和 Windows Vista 以及在此之上的平台上,如果两个进程通信是在同一台服务器上,那么可以使用命名管道,在Mysql中必须在配置文件中启用 --enable-named-pipe 选项。在4.1版本之后还提供了共享内存的方式,通过配置文件添加 --shared-memory 实现,在连接时,Mysql客户端还需使用 --protocol=memory 选项。
4.3 UNIX 域套接字
在Linux和Unix环境下,Unix域套接字只能在Mysql客户端和数据库在一台服务器上的情况下使用。
用户可以指定套接字文件路径,如 --socket=/tmp/mysql.sock。
查找Unix域套接字文件:
show variables like 'socket';
根据路径进行连接:
mysql -udavid -S /tmp/mysql.sock