mysql无法找到或无法连接本地的mysql.sock的问题
程序员文章站
2022-05-29 16:48:30
...
类似如下错误
Can't connect to local MySQL server through socket '/var/mysql/mysql.sock'
或者是另外的其他路径,比如 /var/lib/mysql/mysql.sock
网上有很多解决方案,就是配置my.cnf或者my.ini,针对不同操作系统以及版本
我们明明在my.cnf配置了路径,但是还是不管用
首先,了解mysql.sock的作用,他是负责mysql建立socket连接的时候记录的一些信息文件
比如我们更换了mysql的数据文件目录,修改了配置文件之后就无法启动或者无法连接
上面我们知道mysql.sock的文件作用,再分析几种可能,而不是直接尝试解决问题
首先要确保,配置文件中的文件路径位置对当前的用户是否有相应的读写权限,否则即便MySQL读取了配置文件,也无法执行写操作或创建文件,就会报错
可以尝试如下,在对应目录下授权
chown -R mysql .
第二,配置完成后重启看是否可以启动成功,查看对应的目录下是否生成了相应文件,如果生成了,说明文件权限生效了,如果未生成,则需要判断,当前MySQL读取的配置文件是否为my.cnf,当然,默认情况下会是这个文件,除非启动的时候追加了参数,当然也要确保不要重复启动mysqld服务,看看端口是否已经启动了。
第三,如果MySQL服务成功启动了,说明服务端已经正常启动,但是在连接客户端的时候还可能出现这个问题,那么也就是连接客户端访问的又提示还是默认的路径,而不是my.cnf文件配置的路径,这个时候可以通过连接mysql的客户端后面追加参数 -S 文件路径,来连接mysql,不过这样并不方便,我们可以在my.cnf中追加
[client]
socket=/var/lib/mysql/mysql.sock或者自定义的目录,这样连接本地客户端的时候就会像这个文件目录读写文件了。
网上还有通过ln -s简历软连接的方式,将mysql读取的默认目录连接到自定义的目录,不过总觉得这样是治标不治本而且很别扭,虽然可以解决问题
相关更多说明可以参看官方文档
http://dev.mysql.com/doc/refman/5.7/en/option-files.html
Can't connect to local MySQL server through socket '/var/mysql/mysql.sock'
或者是另外的其他路径,比如 /var/lib/mysql/mysql.sock
网上有很多解决方案,就是配置my.cnf或者my.ini,针对不同操作系统以及版本
我们明明在my.cnf配置了路径,但是还是不管用
首先,了解mysql.sock的作用,他是负责mysql建立socket连接的时候记录的一些信息文件
比如我们更换了mysql的数据文件目录,修改了配置文件之后就无法启动或者无法连接
上面我们知道mysql.sock的文件作用,再分析几种可能,而不是直接尝试解决问题
首先要确保,配置文件中的文件路径位置对当前的用户是否有相应的读写权限,否则即便MySQL读取了配置文件,也无法执行写操作或创建文件,就会报错
可以尝试如下,在对应目录下授权
chown -R mysql .
第二,配置完成后重启看是否可以启动成功,查看对应的目录下是否生成了相应文件,如果生成了,说明文件权限生效了,如果未生成,则需要判断,当前MySQL读取的配置文件是否为my.cnf,当然,默认情况下会是这个文件,除非启动的时候追加了参数,当然也要确保不要重复启动mysqld服务,看看端口是否已经启动了。
第三,如果MySQL服务成功启动了,说明服务端已经正常启动,但是在连接客户端的时候还可能出现这个问题,那么也就是连接客户端访问的又提示还是默认的路径,而不是my.cnf文件配置的路径,这个时候可以通过连接mysql的客户端后面追加参数 -S 文件路径,来连接mysql,不过这样并不方便,我们可以在my.cnf中追加
[client]
socket=/var/lib/mysql/mysql.sock或者自定义的目录,这样连接本地客户端的时候就会像这个文件目录读写文件了。
网上还有通过ln -s简历软连接的方式,将mysql读取的默认目录连接到自定义的目录,不过总觉得这样是治标不治本而且很别扭,虽然可以解决问题
相关更多说明可以参看官方文档
http://dev.mysql.com/doc/refman/5.7/en/option-files.html
下一篇: gitignore常见内容
推荐阅读
-
完美解决MySQL通过localhost无法连接数据库的问题
-
解决在Linux操作系统下无法连接MySQL服务端的问题
-
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器
-
mysql5.7.18安装时提示无法找到入口问题的解决方法
-
mysql57重新安装后无法再次启动mysql57服务“本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动。”--解决方法
-
解决Navicat无法连接 VMware中Centos系统中的 MySQL服务器的问题
-
Navicat出现无法远程连接MySql服务器问题的解决办法
-
mysql远程客户端无法连接的问题_MySQL
-
mysql远程客户端无法连接的问题_MySQL
-
本地连接受限制或无法连接 用php获取远程图片并把它保存到本地的代码