TCP/IP
当客户端和mysql实例不在同一台服务器上时,两台机器通过TCP/IP网络连接
# mysql -h192.168.74.128 -uroot -p
需要注意在通过TCP/IP连接时,mysql会先检查一张权限视图,用来判断客户端IP是否允许连接到实例
mysql> select host,user,password from mysql.user\G
*************************** 1. row ***************************
host: localhost
user: root
password: *63D90C8BB77C99F7F5D836C5AE2D1E9BE5CE43C2
*************************** 2. row ***************************
host: 192.168.74.128
user: root
password: *63D90C8BB77C99F7F5D836C5AE2D1E9BE5CE43C2
*************************** 3. row ***************************
host: 192.168.10.246
user: root
password: *63D90C8BB77C99F7F5D836C5AE2D1E9BE5CE43C2
*************************** 4. row ***************************
host: 192.168.74.1
user: root
password: *63D90C8BB77C99F7F5D836C5AE2D1E9BE5CE43C2
*************************** 5. row ***************************
host: %
user: root
password: *63D90C8BB77C99F7F5D836C5AE2D1E9BE5CE43C2
5 rows in set (0.00 sec)
命名管道和共享内存
在windows平台上,如果两个通信进程在一台机器上,可以使用命名管道。
mysql须在配置文件中启动–enable-named-pipe选项。
mysql还提供了共享内存的连接方式,可以通过在配置文件中添加–shared-memory实现;如果想使用共享内存连接,客户端必须使用–protocol=memory选项
UNIX域套接字
在linux和unix环境下,当实例与客户端在一台服务器上时,可以使用套接字访问
套接字文件路径
mysql> show variables like 'socket';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| socket | /tmp/mysql.sock |
+---------------+-----------------+
1 row in set (0.00 sec)
访问方式
# mysql -uroot -p -S /tmp/mysql.sock