首页数据库mysql socket指的是什么

mysql socket指的是什么

时间2023-04-05 14:14:02发布访客分类数据库浏览367
导读:这篇“mysql socket指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql socket指的是什么”文...
这篇“mysql socket指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql socket指的是什么”文章吧。

mysql socket是指Unix套接字文件;在类unix平台,客户端连接MySQL服务端的方式有两种,分别是TCP/IP方式与socket套接字文件方式;Unix套接字文件连接的速度比TCP/IP快,但是只能连接到同一台计算机上的服务器使用。

.socket文件介绍

socket 即 Unix 套接字文件,在类 unix 平台,客户端连接 MySQL 服务端的方式有两种,分别是 TCP/IP 方式与 socket 套接字文件方式。Unix 套接字文件连接的速度比 TCP/IP 快,但是只能连接到同一台计算机上的服务器使用。

通过设置 socket 变量可配置套接字文件路径及名称,默认值为 /tmp/mysql.sock (对于某些发行格式,目录可能有所不同)。参考配置如下:

#my.cnf配置文件
[mysqld]
socket=/data/mysql/tmp/mysql.sock
[client]
socket=/data/mysql/tmp/mysql.sock

#查看对应目录下的socket文件
root@localhosttmp]#ls-lh
total8.0K
srwxrwxrwx1mysqlmysql0Jun1015:19mysql.sock
-rw-------1mysqlmysql6Jun1015:19mysql.sock.lock

#通过-S命令指定socket登录
[root@localhost~]#mysql-uroot-pxxxx-S/data/mysql/tmp/mysql.sock
mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.
WelcometotheMySQLmonitor.Commandsendwith;
    or\g.
YourMySQLconnectionidis12
Serverversion:8.0.22MySQLCommunityServer-GPL

Copyright(c)2000,2020,Oracleand/oritsaffiliates.Allrightsreserved.

OracleisaregisteredtrademarkofOracleCorporationand/orits
affiliates.Othernamesmaybetrademarksoftheirrespective
owners.

Type'help;
    'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.

mysql>
    status
--------------
mysqlVer8.0.22forLinuxonx86_64(MySQLCommunityServer-GPL)

Connectionid:12
Currentdatabase:
Currentuser:root@localhost
SSL:Notinuse
Currentpager:stdout
Usingoutfile:''
Usingdelimiter:;
    
Serverversion:8.0.22MySQLCommunityServer-GPL
Protocolversion:10
Connection:LocalhostviaUNIXsocket
Servercharacterset:utf8mb4
Dbcharacterset:utf8mb4
Clientcharacterset:utf8mb4
Conn.characterset:utf8mb4
UNIXsocket:/data/mysql/tmp/mysql.sock
Binarydataas:Hexadecimal
Uptime:1hour27min31sec

Threads:3Questions:27Slowqueries:0Opens:135Flushtables:3Opentables:56Queriespersecondavg:0.005

复制

查看上述连接状态可知,MySQL 在本地可以通过 socket 方式连接。在本地登录时,如果 my.cnf 配置文件中的 [client] 部分没有指定 socket 文件路径,mysql 默认会去寻找 /tmp/mysql.sock ,所以如果 mysqld 服务启动的时候,生成的 socket 文件不是默认路径的话,登陆可能会报错(ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock')。其实 [mysqld] 部分及 [client] 部分都配置具体路径可避免此问题,也可以在 tmp 路径下建立软连接,如:ln -s /data/mysql/tmp/mysql.sock /tmp/mysql.sock 。同样的,socket 文件目录权限要对 mysql 系统用户放开。

以上就是关于“mysql socket指的是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

mysqlsocket

若转载请注明出处: mysql socket指的是什么
本文地址: https://pptw.com/jishu/1798.html
mysql fabric的概念是什么 mysql binlog指的是什么

游客 回复需填写必要信息