我的问题始于我无法在mysql安装上以root身份登录。我试图在不打开密码的情况下运行mysql……但每当我运行该命令时
# mysqld_safe --skip-grant-tables &
我将永远得不到提示。我试图按照这些指示来恢复密码。
屏幕如下所示:
root@jj-SFF-PC:/usr/bin# mysqld_safe --skip-grant-tables
120816 11:40:53 mysqld_safe Logging to syslog.
120816 11:40:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
并且我没有收到开始键入SQL命令以重置密码的提示。
当我按CTRLC杀死它时,我收到以下消息:
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
如果我重试该命令并将其保留足够长的时间,我确实会收到以下一系列消息:
root@jj-SFF-PC:/run/mysqld# 120816 13:15:02 mysqld_safe Logging to syslog.
120816 13:15:02 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120816 13:16:42 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
[1]+ Done mysqld_safe --skip-grant-tables
root@jj-SFF-PC:/run/mysqld#
但是,如果我尝试以root用户身份登录,执行以下操作:
# mysql -u root
我收到以下错误消息:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
我检查并/var/run/mysqld/mysqld。sock
文件不存在。文件夹可以,但文件不能。
另外,我不知道这是否有帮助,但我运行了查找/ -name mysqld
,它提出了:
/var/run/mysqld - folder
/usr/sbin/mysqld - file
/run/mysqld - folder
我是Linux和MySQL的新手,所以我不知道这是否正常。但我会把这些信息包括进来,以防有用。
我最终决定卸载并重新安装mysql。
apt-get remove mysql-server
apt-get remove mysql-client
apt-get remove mysql-common
apt-get remove phpmyadmin
按上述顺序重新安装所有软件包后,在phpmyadmin安装过程中,我收到了相同的错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
所以我再次尝试卸载/重新安装。这一次,在我卸载软件包后,我还手动将所有mysql文件和目录重命名为mysql.bad
在各自的位置。
/var/lib/mysql
/var/lib/mysql/mysql
/var/log/mysql
/usr/lib/perl5/DBD/mysql
/usr/lib/perl5/auto/DBD/mysql
/usr/lib/mysql
/usr/bin/mysql
/usr/share/mysql
/usr/share/dbconfig-common/internal/mysql
/etc/init.d/mysql
/etc/apparmor.d/abstractions/mysql
/etc/mysql
然后我尝试重新安装< code>mysql-server和< code>mysql-client。但是我注意到它没有提示我输入密码。它不是应该询问管理员密码吗?
此错误是由于 mysql 的多次安装而发生的。运行以下命令:
ps -A|grep mysql
使用以下方法终止进程:
sudo pkill mysql
然后运行命令:
ps -A|grep mysqld
还可以通过运行以下命令终止该进程:
sudo pkill mysqld
现在您已完全设置好,只需运行以下命令:
service mysql restart
mysql -u root -p
再次有非常好的工作
要查找系统上的所有套接字文件,请运行:
sudo find / -type s
我的MySQL服务器系统打开了/var/lib/mysql/mysql.sock
的套接字。
找到套接字的打开位置后,将包含套接字文件路径的行添加到 /etc/my.cnf 文件中:
socket=/var/lib/mysql/mysql.sock
有时,启动命令行可执行文件的系统启动脚本会指定一个标志--socket=path
。此标志可以覆盖my。cnf位置,这将导致在my所在的位置找不到套接字。cnf文件指出它应该是。然后,当您尝试运行mysql命令行客户端时,它将显示my。cnf查找套接字,但它不会找到它,因为它偏离了服务器创建套接字的位置。所以,除非您关心套接字驻留在哪里,否则只需更改my。cnf匹配应该有效。
然后,停止mysqld进程。如何做到这一点将因系统而异。
如果您是linux系统中的超级用户,如果您不知道Mysql设置使用的具体方法,请尝试以下方法之一:
服务 mysqld stop
/etc/init.d/mysqld 停止
mysqladmin -u root -p shutdown
pkill -9 mysqld
pgrep mysql
或 ps aux | grep mysql | grep -v grep 查找 mysql
的进程 id4969,
则终止时为 kill -9 4969
完成此操作后,您可能需要在 /var/run/mysqld/ 中查找 pid
文件并将其删除
确保套接字上的权限是这样的,无论mysqld正在运行的任何用户都可以读/写。一个简单的测试是打开它进行完全读/写,看看它是否仍然有效:
chmod 777 /var/run/mysqld/mysqld.sock
如果这解决了问题,您可以根据安全设置根据需要定制套接字的权限和所有权。
此外,运行mysqld进程的用户必须能够访问套接字所在的目录。
试试这个命令,
sudo service mysql start
问题内容: 我的问题开始于我无法以root用户身份登录mysql安装。我试图在不打开密码的情况下运行mysql …但是每当我运行命令时 我永远也回不了提示。我试图按照以下说明恢复密码。 屏幕如下所示: 并且没有提示您开始输入SQL命令来重置密码。 当我按+ 杀死它时,会收到以下消息: 如果重试该命令并将其保留足够长的时间,则会收到以下一系列消息: 但是,如果我尝试通过以下方式以root用户身份登录
我在Ubuntu ;12.04 LTS(Precise Pangolin)上安装了LAMP,然后在phpMyAdmin上设置root密码。我忘记了密码,现在无法登录。当我试图通过终端更改密码时,我得到: 错误2002(HY000):无法通过套接字“/var/run/mysqld/mysqld.sock”(2)连接到本地MySQL服务器 我该怎么解决这个?我无法打开灯,卸载或重新安装。
当我试图登录mysql shell使用 我正在得到 错误2002(HY000):无法通过套接字“/var/run/mysqld/mysqld”连接到本地MySQL服务器。袜子(2) 请帮我找出mysql的问题所在 我可以登录使用 更新 /etc/hosts
已尝试所有职位以获取解决方案。错误2002(HY000):无法通过套接字“/var/run/mysqld/mysqld.sock”(2)连接到本地MySQL服务器 无法通过套接字“/var/MySQL/MySQL.sock”(38)连接到本地MySQL服务器 在后续工作中又发现了一个问题..sudo:有效的uid不是0,安装的sudo是否是setuid root? 所以对于这篇试过的跟帖 有谁能给
问题内容: 当在Django中连接到mysql数据库时,出现错误。 我确定mysql服务器正在运行。 /var/run/mysqld/mysqld.sock不存在。 当我运行时,我只会得到/tmp/mysql.sock和其他一些不相关的输出。 我添加到/etc/my.cnf。然后重新标记mysql,退出django shell,并连接到mysql数据库。我仍然遇到相同的错误。 我进行了很多搜索,但
当连接到Django中的mysql数据库时,我得到了错误。 > 我确信mysql server正在运行。 任何帮助都是可喜的。提前谢了。 我只是尝试了一些方法。而且管用。我是这样做的。 添加。重新启动mysql服务器。