一、MySQL的连接与通信方式

 

  • 连接MySQL操作时一个连接进程和MySQL数据库实例进行通信的过程
  • 通信的本质是进程的通信
  • 进程间通信的方式有:管道、命名管道、共享内存、TCP/IP套接字、UNIX域套接字等

二、TCP/IP套接字的连接

  • 不同的机器之间,客户端可以通过mysql命令来连接MySQL服务端,此时使用到的是TCP/IP套接字

三、命名管道和共享内存

命名管道

  • 在Windows 2000、Windows XP、Windows 2003和Windows Vista以及在此之上的平台上,如果两个需要进程通信的进程在同一台服务器上,那么可以使用命名管道,Microsoft SQL Server数据库默认安装后的本地连接也是使用命名管道
  • 在MySQL数据库中必须在配置文件中启用--enable-named-pipe选项

共享内存

  • 在MySQL 4.1之后的版本中,MySQL还提供了共享内存的连接方式,这是通过在配置文件中添加--shared-memory实现的
  • 如果想要使用共享内存的方式,在连接时,MySQL客户端还必须使用--protocol=memory选项

四、UNIX域套接字

  • UNIX域套接字只能在一台机器上使用
  • 用户可以在配置文件中指定套接字文件的路径,如--socket=/tmp/mysql.sock

演示案例

  • 查看UNIX域套接字文件所在的位置

MySQL(InnoDB剖析):03---MySQL的连接与通信方式(进程间通信(管道、套接字、UNIX域套接字))_共享内存

  • 退出数据库,然后使用域套接字的方式连接数据库(使用域套接字连接时需要用-S选项提供UNIX域套接字文件名,-u选项提供用户名,-p选项提供用户密码,-p选项我用马赛克遮住了)

MySQL(InnoDB剖析):03---MySQL的连接与通信方式(进程间通信(管道、套接字、UNIX域套接字))_mysql_02