我的服务器变得一团糟。我正在使用 LAMPP,我创建了一个新用户 apache:apache 并指派他负责管理 Apache。由于这个更改,phpMyAdmin 无法工作,所以我不得不将 phpmyadmin/config.inc.php 的所有权更改为 apache:apache。这很管用,但我做了最愚蠢的事情,我将整个 /opt/lampp 目录的所有权更改为 apache:apache。我在虚拟机内安装了 LAMPP 以复制所有文件和目录权限。现在我遇到了 mysql.sock 问题。它确实存在,但无法连接。
raski@xxxxxx:~$ sudo cat /opt/lampp/etc/my.cnf |grep socket
套接字 = /opt/lampp/var/mysql/mysql.sock
raski@xxxxxx:~$ sudo cat /opt/lampp/etc/php.ini |grep mysql.default_socket
pdo_mysql.default_socket=/opt/lampp/var/mysql/mysql.sock
mysql.default_socket = /opt/lampp/var/mysql/mysql.sock
raski@xxxxxx:~$ ls -ld /opt/lampp/var/mysql/mysql.sock
srwxrwxrwx 1 mysql 轮 0 2011-07-15 12:09 /opt/lampp/var/mysql/mysql.sock
raski@xxxxxx:~$ mysql -u root -p
错误 2002(HY000):无法通过套接字“/opt/lampp/var/mysql/mysql.sock”连接到本地 MySQL 服务器(111)
我会粘贴“ls -lR /opt/lampp/var/mysql/”,但那太多了;)所有数据库都设置为我创建的 mysql:mysql。我不知道之前文件的所有者是谁,也不知道它们属于哪个组。我在 Google 上搜索,到处都看到 mysql:mysql,所以我创建了它。
有什么建议吗?提前谢谢!
答案1
只需重建机器,并将其视为一次学习经历,在按下“回车”键之前校对命令行的价值。至少你没有做rm -rf
任何重要的事情(例如未备份的生产数据库)。