应该发生什么:
./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。