MySQL · 连接

Linux

连接 MySQL 操作是一个连接进程和 MySQL 数据库实例进行通信。从程序设计的角度来说,本质上是进程间通信。常用的进程通信方式有:管道、命名管道、命名字、TCP/IP 套接字、UNIX 域套接字。

  • TCP/IP 套接字方式

这种方式是 MySQL 数据库在任何平台下都提供的连接方式,也是网络请求中使用的最多的一种方式。这种方式在 TCP/IP 连接上建立一个基于网络的连接请求,一般情况下客户端和服务端不在同一台服务器上。需要注意的是,在通过 TCP/IP 连接到 MySQL 实例时,MySQL 数据库会先检查一张权限视图,用来判断发起请求的客户端 IP 是否允许连接到 MySQL 实例,该视图为 mysql.user

1
2
3
4
5
6
7
$ mysql -h IP -u username -p password -P port

[options]
-u, --user=name # 指定用户名
-p, --password[=name] # 指定密码
-h, --host=name # 指定服务器IP
-P, --port # 指定连接端口
  • UNIX 域套接字方式

UNIX 域套接字其实不是一个网络协议,所以只能在 MySQL 客户端和数据库实例在一台服务器上的情况下使用。用户可以在配置文件中指定套接字文件的路径,如:socket = /tmp/mysql.sock。

1
2
3
4
5
6
[client]
port = 3306
socket = /data/mysql/mysql.sock
default-character-set = utf8mb4

$ mysql -S /data/mysql/mysql.sock -u username

客户端工具