我已经安装mysql-server
在Linux机器上并忘记了(oops)root密码。浏览互联网后,一般方法如下:
- 停止MySQL(
sudo service mysql stop
) - 以特殊模式启动MySQL(
sudo mysqld_safe --skip-grant-tables
) - 登录本地服务器并重置密码(
mysql -u root
)
我的问题是在2号。当我运行命令时,它说了一些关于记录和启动守护进程的东西,然后以该行结束
mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
并使用sudo service mysql status
确认MySQL已经停止了。
它为什么突然停止?而且(更重要的是)我怎样才能让它继续运行以便重置我的密码?
提前致谢
编辑这里是“关于loggin和启动守护进程的东西”的完整日志:
$ mysqld_safe --skip-grant-tables
141219 16:55:20 mysqld_safe Logging to syslog.
141219 16:55:20 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
141219 16:55:20 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
$
编辑2和/ var / log / syslog的输出(我用我的主机名替换<hostname>
)
Dec 20 10:20:09 <hostname> mysqld_safe: Starting mysqld daemon with databases from /var/lib/mysql
Dec 20 10:20:09 <hostname> mysqld: 141220 10:20:09 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
Dec 20 10:20:09 <hostname> mysqld: 141220 10:20:09 [Warning] Can't create test file /var/lib/mysql/<hostname>.lower-test
Dec 20 10:20:09 <hostname> mysqld: 141220 10:20:09 [Warning] Can't create test file /var/lib/mysql/<hostname>.lower-test
Dec 20 10:20:09 <hostname> mysqld: #007/usr/sbin/mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13)
Dec 20 10:20:09 <hostname> mysqld: 141220 10:20:09 [ERROR] Aborting
Dec 20 10:20:09 <hostname> mysqld:
Dec 20 10:20:09 <hostname> mysqld: 141220 10:20:09 [Note] /usr/sbin/mysqld: Shutdown complete
Dec 20 10:20:09 <hostname> mysqld:
Dec 20 10:20:09 <hostname> mysqld_safe: mysqld from pid file /var/run/mysqld/mysqld.pid ended
请你能在问题中添加所有“关于记录和启动守护进程的东西”。如果编辑出所有诊断信息,则无法诊断问题。
—
迈克斯科特
好的,谢谢你的数据。现在你可以查看系统日志,看看它在那里记录了什么?
—
迈克斯科特
我在哪里访问syslog?
—
Luke Moll 2014年
我担心这取决于你如何配置你的系统,但你可以寻找/ var / syslog。
—
迈克斯科特
它在/ var / log / syslog中,我重新运行命令来获取输出,因为看起来syslog只保留最新的消息。
—
Luke Moll 2014年