![重新启动mysql服务器无法登录](https://linux22.com/image/556882/%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8mysql%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%97%A0%E6%B3%95%E7%99%BB%E5%BD%95.png)
我有一个 MySQL 服务器实例。我无法登录。我做了以下操作:
- 清理一些日志
> xxxx.log
- 使用 mysqld restart 重新启动 mysql
- 我没有使用
--user=mysql
,但那是my.cnf
现在我无法以任何用户身份登录。
我怎样才能以最简单、最正确的方式启动并运行它,而不丢失所有登录信息?
答案1
重置超级用户的密码。请参见C.5.4.1. 如何重置 Root 密码请参阅 MySQL 手册以了解如何执行此操作的详细信息。基本上,您创建一个包含重置密码命令的 SQL 文件,并通过选项将其传递给 MySQL --init-file
。
或者,使用以下命令启动 MySQL--skip-grant-tables
选项使任何人都可以无需密码并拥有所有权限进行连接。
答案2
您首先应该检查的是 mysqld 错误日志。通常位于 /var/log/mysqld.log 或 /var/log/mysql/error.log 中。
我想知道您是否破坏了 InnoDB 事务日志。例如/var/lib/mysql/ib_logfile*
。您不应该这样做。它们是固定长度的文件,必须与 my.cnf 中配置的预期大小匹配,否则 mysqld 将无法启动。错误日志会告诉您。