应该发生什么:

应该发生什么:

应该发生什么:

./lampp 启动 mysql -u root -p

--世界一切安好!--

实际发生的情况如下:

./lampp 启动

mysql -u 根 -p

[无法通过套接字“/var/run/mysqld/mysqld.sock”连接到本地 MySQL 服务器 (2)]

{此时,phpmyinfo() 显示 mysql 已激活}

sudo 服务 mysql 启动

mysql -u 根 -p

[无法通过套接字“/var/run/mysqld/mysqld.sock”连接到本地 MySQL 服务器 (2)]

{phpmyinfo() 仍然显示 mysql 已激活}

./lampp 停止

mysql -u 根 -p

(世界一切安好!)

./lampp 启动

另一个 MySQL 守护进程已在运行...

{phpmyinfo() 显示 mysql 已停用}

基本上,似乎 mySQL 存在一些冲突。如果我运行 apache,则无法运行 mysql,但如果运行 mySQL,则无法在 Apache 中加载它。错误仍然相同。两者都试图使用相同的套接字,如果 Apache 没有运行,它就可以工作。任何建议都将不胜感激。

答案1

汤姆,

检查 my.cnf 中 mysqld 和客户端部分下的套接字文件的路径。

[mysqld]
socket=/path/to/socket

[client]
socket=/path/to/socket

编辑:

如果 [client] 部分不存在则将其放在那里,这样您就不必在从命令行连接时手动指定 --socket=path。

相关内容