mysql 两种连接方式:socket和TCP/IP

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

参考mysql 连接方式:socket和tcp/ip

unix系统上,mysql的登陆方式有两种,分别是socket和tcp/ip方式登陆。

当server和client在同一台服务器上的时候,我们可以直接用mysql命令登陆。

[root@mysql ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.46-log MySQL Community Server (GPL)

Copyright (c) 2000, 2015, 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.

root@[(none)]>

当什么参数都没有指定的时候,mysql默认使用socket方式登陆,如果my.cnf的[client]没有指定socket文件路径时,mysql默认会去寻找/tmp/mysql.sock,所以如果mysql服务启动的时候,生成的socket文件不是默认路径的话,登陆会报错。

[root@mysql ~]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

mysql服务启动的时候,socket文件的生成目录可以在[mysqld]上指定,如果没有指定,默认是/tmp/mysql.sock

mysql登陆的时候,指定参数-h,会使用tcp/ip的方式连接,如果没有指定端口的话,默认是使用3306端口

[root@mysql ~]# mysql -h192.1.1.20
ERROR 2003 (HY000): Can't connect to MySQL server on '192.1.1.20' (111)

[root@mysql ~]# mysql -h192.1.1.20 -P3307
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.46-log MySQL Community Server (GPL)

Copyright (c) 2000, 2015, 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.

root@[(none)]>


当mysql登陆时,同时指定-h和-S,mysql会默认使用tcp/ip的方式连接。

[root@mysql ~]# mysql -h192.1.1.20 -P3307  -S /ddd/sdfs.scok
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.46-log MySQL Community Server (GPL)

Copyright (c) 2000, 2015, 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.

root@[(none)]>

随便指定一个socket文件都可以登陆。

 

可以查看简洁版的:MySQL 连接方式

更多细节可以查看 :http://blog.itpub.net/15480802/viewspace-1755100/

转载于:https://my.oschina.net/zjllovecode/blog/1617755

你可能感兴趣的:(mysql 两种连接方式:socket和TCP/IP)