共计 1718 个字符,预计需要花费 5 分钟才能阅读完成。
这篇文章主要讲解了“mysql.sock 的概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“mysql.sock 的概念是什么”吧!
“mysql.sock”是 mysql 的套接字文件,是 mysql 的主机和客户机在同一 host 上的时候,使用 unix socket 做为通讯协议的载体。在 UNIX 系列系统下本地连接 MySQL 可以采用 TCP 连接和 UNIX 域套接字两种方式;其中 UNIX 域套接字方式需要一个套接字文件,可用“show variables like socket”命令来查看本地 socket 文件位置。
本教程操作环境:linux7.3 系统、mysql8 版本、Dell G3 电脑。
“mysql.sock”是 mysql 的套接字文件。
在 UNIX 系统下本地连接 MySQL 可以采用 UNIX 域套接字方式,这种方式需要一个套接字文件
套接字文件可由参数 socket 控制,可使用以下命令查看文件的位置:
show variables like socket
mysql.sock 是 mysql 的主机和客户机在同一 host 上的时候,使用 unix domain socket 做为通讯协议的载体,它比 tcp 快。
MySQL 有两种主要的连接方式:
(1)TCP/IP
(2)socket
常用的还是 TCP 连接:
[root@mysql8 data]# mysql -h 192.168.103.67 -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 8.0.15 MySQL Community Server - GPL
Copyright (c) 2000, 2019, 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
另外的一种方式就是这种 unix socket 的连接。在速度上比用 tcp 的方式更快,但只适用于 mysql 和应用同在一台 PC 上,依靠本地的.sock 文件。如果不在同一台 PC 上,就没有办法连接了。
对 mysql.sock 来说,其作用是程序与 MySQL Server 处于同一台机器,发起本地连接时可用。
例如你无须定义连接 host 的具体 IP 得,只要为空或 localhost 就可以。
在此种情况下,即使你改变 MySQLl 的外部 port 也是一样可能正常连接。
因为你在 my.ini 中或 my.cnf 中改变端口后,mysql.sock 是随每一次 MySQL Server 启动生成的。已经根据你在更改完 my.cnf 后重启 mysql 时重新生成了一次,信息已跟着变更。
那么对于外部连接,必须是要变更 port 才能连接的。
Linux 下安装 MySQL 连接的时候经常回提示说找不到 mysql.sock 文件,解决办法很简单:
如果是新安装的 MySQL,提示找不到文件,就搜索下,指定正确的位置。
如果 mysql.sock 文件误删的话,就需要重启 MySQL 服务,如果重启成功的话会在 datadir 目录下面生成 mysql.sock 到时候指定即可。
如果还不行就选择用 TCP 连接方式连接就行了,其实 windows 下还支持管道连接方式。
感谢各位的阅读,以上就是“mysql.sock 的概念是什么”的内容了,经过本文的学习后,相信大家对 mysql.sock 的概念是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!