Home  >  Article  >  Database  >  启动MySQL报错_MySQL

启动MySQL报错_MySQL

WBOY
WBOYOriginal
2016-06-01 13:26:141132browse

bitsCN.com

当在linux系统中启动mysql服务的时候service mysqld start时

报:Another MySQL daemon already running with the same unix socket.

解决办法。

 

原因多个Mysql进程使用了同一个socket。

 

两个方法解决:

 

第一个是立即关机 使用命令 shutdown -h now 关机,关机后在启动,进程就停止了。

 

第二个直接把mysql.sock文件改名即可。也可以删除,推荐改名。

方法 mv /var/lib/mysql/mysql.sock   /var/lib/mysql/mysql.sock.bak

 

然后就可以启动mysql,这时会重新创建一个mysql.sock文件。

 

 

mysql.sock文件的讲解在网上找了如下解释,在此转载

这个mysql.sock应该是mysql的主机和客户机在同一host上的时候,使用unix domain socket做为通讯协议的载体,它比tcp快。通常遇到这个问题的原因就是你的mysql server没运行起来。


Mysql有两种连接方式:
(1),TCP/IP
(2),socket
对mysql.sock来说,其作用是程序与mysqlserver处于同一台机器,发起本地连接时可用。
例如你无须定义连接host的具体IP得,只要为空或localhost就可以。
在此种情况下,即使你改变mysql的外部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下还支持管道连接方式。

bitsCN.com
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn