mysql.sock

 一、前言

      linux系统,这两天卸载了mysql重新安装,在进行初始化的时候报错(其实是我的原因,本身我使用的是5.6.34的mysql,却使用了5.7以上版本的命令进行初始化,但阴差阳错的了解了mysql.sock)

‘’

      因为我对mysql不了解,开始我一直以为是mysql.sock这个文件造成的,以为是他没有删除干净,但是查看进程并没有mysql的任何进程,也查不到这个socket文件。百度也查了很多,虽然有相关问题,但一般是和端口冲突或者my.cnf配置有关系。因为在编译配置参数时,指定了mysq.sock放在/usr/local/mysql下,然而在运行初始化时报这个错误,最后编译安装完却找不到socket文件。

      到后面想到了mysql5.7以前的版本初始化使用: ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

                             mysql5.7以上版本初始化使用:./bin/mysqld --user=mysql --datadir=/data/mysql


二、mysql连接方式

mysql的连接方式有两种:

1.tcp/ip方式

先说说这种方式,这个方式是在tcp/ip上建立一个网络连接请求,即MySQL服务器和客户端不再同一个服务器上,需要通过网络(IP)形式去连接。但是这种连接需要mysql服务器给这台客户端IP进行授权,否则不可以连接。

如mysql服务器是192.168.10.230,客户端IP是192.168.10.220

授权:grant all on *.* to 'root'@'192.168.10.220' identified by '123456';

连接:mysql -uroot -h192.168.2.230 -p             ##-h是指定连接服务器

这种方式是不需要在客户端安装mysql的,即mysql的服务器安装完成后,就默认建立了一个和任何客户端进行连接的通道。

2.socket方式

这种方式必须是客户端和mysql服务器在同一台服务器上,使用localhost的方式去连接,这样就会用到套接字文件socket,即主机名是localhost的服务器,客户端通过套接字文件mysql.sock文件连接到服务器,如果这个文件删除就不能连接。

连接:mysql -uroot -p -S /tmp/mysql.sock       ##-S是指定socket去连接localhost服务器,默认可以不写,/tmp/mysql.sock是在my.cnf下指定的路径



mysql.sock文件是服务器与本地客户端进行通信的Unix套接字文件,具体在/etc/my.cnf有配置,如果这个文件删除了,可以重启服务器,文件会自动生成,如果不能生成就需要使用其他方式连接了

查看路径ps -ef|grep mysql.sock




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值