MySQL 连接方式
1:TCP/IP 套接字方式
这种方式会在TCP/IP 连接上建立一个基于网络的连接请求,一般是client连接跑在Server上的MySQL实例,2台机器通过一个TCP/IP 网络连接。
C:\Users\gechong>mysql -h 192.168.1.10 -uroot -p
Enter password: *******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.5.-log MySQL Community Server (GPL) Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
这里的客户端是Windows,向IP为192.168.1.10 的服务器上的MySQL实例发起了TCP/IP请求,连接成功后就可以使用MySQL了。
可以查看:
mysql> SELECT user,host,password FROM mysql.user \G
*************************** . row ***************************
user: root
host: localhost
password: *11B9ACA21786F766739D0EB1483C5F64212B81AC
*************************** . row ***************************
user: root
host: 127.0.0.1
password: *11B9ACA21786F766739D0EB1483C5F64212B81AC
*************************** . row ***************************
user: gechong
host: localhost
password: *7AE39BE5035D5C32361400FF7DEDD757AA76896A
rows in set (0.02 sec)
这张权限表清楚的显示了MySQL允许哪些用户在哪些IP段内连接
2:UNIX域套接字
UNIX域套接字并不是网络协议,所以只能在MySQL客户端和数据库实例在一台服务器上使用,用户可以在配置文件中指定套接字文件
--socket=/tmp/mysql.sock
mysql> SHOW VARIABLES LIKE 'socket';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| socket | /tmp/mysql.sock |
+---------------+-----------------+
row in set (0.00 sec) #mysql -uroot -S/tmp/mysql.sock