使用mysqld_safe启动mysql server 5.7.17时,发生以下错误。
2017-02-10T17:05:44.870970Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-10T17:05:44.872874Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-10T17:05:44.874547Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
怎么修?
6条答案
按热度按时间azpvetkf1#
这个目录没有在安装时创建似乎很奇怪-您是否手动更改了my.cfg中套接字文件的路径?
你有没有试过自己简单地创建这个目录,然后重新启动服务?
xggvc2p62#
当我使用代码
mysqld_safe --skip-grant-tables &
,但我得到错误:UNIX套接字文件的mysqld_safe目录'/var/run/mysqld'不存在。
我解决了:
现在我使用相同的代码
mysqld_safe --skip-grant-tables &
并得到mysqld_safe使用/var/lib/mysql中的数据库启动mysqld守护进程
如果我使用
$ mysql -u root
,我会得到:服务器版本:5.7.18-0ubuntu0.16.04.1(Ubuntu)
Oracle和/或其附属公司版权所有(c)2000,2017。保留所有权利。
Oracle是Oracle Corporation和/或其附属公司的注册商标。其他名称可能是其各自所有者的商标。
键入“help;”或“\h”以获得帮助。键入“\c”以清除当前输入语句。
联系我们
现在是时候更改密码了:
阅读表信息以完成表和列名您可以使用-A关闭此功能以获得更快的启动
数据库已更改
或者如果你有一个mysql root帐户,可以从任何地方连接,你也应该这样做:
替代方法:
如果你有一个可以从任何地方访问的root帐户:
现在需要
quit
从mysql和停止/启动现在再次` mysql -u root -p'并使用新密码获取
联系我们
bwntbbo33#
在CentOS中为我工作:
在较新版本的MySQL中,命令是:
s5a0g9ez4#
发生在我身上。
消息实际上是不正确的(和在糟糕的英语:-))。
为了找出有问题的文件,我运行了这个命令(作为root用户):
sh -x /etc/init.d/mysqld start
它打印了这个:
错误:无法通过套接字连接到本地MySQL服务器'/mysql-dir/mysql.sock'
检查mysqld是否正在运行以及套接字:'/mysql-dir/mysql.sock'存在!
所以看起来socket文件需要预先存在,所以我这样做了,再次作为root用户:
**cd /mysql-dir
触摸mysql.sock
chown mysql:mysql mysql.sock**
然后:
service mysqld start
瞧!
ffscu2ro5#
看看这个bug:https://bugs.launchpad.net/ubuntu/+source/mysql-5.6/+bug/1435823
那里似乎有一个临时的解决办法
q35jwt9p6#
如果你的数据库没有任何数据,或者你有另一个备份来恢复数据,你可以尝试以下方法。你需要知道Ubuntu服务器的root密码,而不是mysql的root密码。
我们中的许多人很可能已经安装了“mysql_secure_installation”,因为这是一个最佳实践。导航到mysql_secure_installation所在的bin目录。它可以在Ubuntu系统上的/bin目录中找到。通过重新运行安装程序,您将被提示是否更改根数据库密码。