在我的 Ubuntu VPS 中,MYSQL 突然停止工作,当我检查日志时,我发现了以下内容,我是 Linux 新手,请帮助我解决这个问题,另外我需要所有数据库都恢复,没有任何失败
这是日志文件Mysql 错误日志
请帮助修复该问题
答案1
您的日志文件中存在的问题是:
2017-08-30T16:08:05.473317Z 0 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
2017-08-30T16:08:05.473738Z 0 [Note] - '0.0.0.0' resolves to '0.0.0.0';
2017-08-30T16:08:05.473812Z 0 [Note] Server socket created on IP: '0.0.0.0'.
2017-08-30T16:08:05.475964Z 0 [Warning] Failed to open optimizer cost constant tables
2017-08-30T16:08:05.481167Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
2017-08-30T16:08:05.481328Z 0 [ERROR] Aborting
遇到问题时,您可以 init location mysql 来解决您的问题。
mysql_install_db --user=mysql --ldata=[destination]
参考此。之后,您可以使用命令更改 mysql 所有权和组权限:
chown -R mysql.mysql /var/lib/mysql
和
chgrp -R mysql /var/lib/mysql
更新配置后记得重启mysql服务service mysqld restart
接下来设置基目录并通过发出命令 whichmysql_install_db
和 which检查路径my_print_defaults
。使用 传递该路径--basedir=/your path
。这可以通过命令很好地解释:
当你运行命令时mysql_install_db --user=mysql --ldata=[destination]
遇到问题"FATAL ERROR: Could not find ./bin/my_print_defaults"
。
您可以使用解决方案查找二进制路径进行修复:
哪个 mysql_install_db
在/usr/local/bin/mysql_install_db
哪个 my_print_defaults
/usr/local/bin/my_print_defaults