Mysql 常见错误
Mysql 无法启动
Mysql InnoDB 类型经常会有问题导致打不开
检查并且修复
mysqlcheck -u root -p --auto-repair --all-databases
注意权限
1、如果是宝塔,请主力 /tmp/mysql.sock 需要Mysql 用户权限
2、注意以下三个文件(权限):
强制InnoDB恢复
mysql5.7 强制 InnoDB 恢复
[mysqld]
innodb_force_recovery = 1
警告
仅innodb_force_recovery 在紧急情况下设置为大于 0 的值,以便您可以启动InnoDB和转储您的表。
在这样做之前,请确保您拥有数据库的备份副本,以防需要重新创建它。
4 或更大的值可能会永久损坏数据文件。
仅 innodb_force_recovery在您在数据库的单独物理副
本上成功测试设置后,才能在生产服务器实例上使用 4 或更高的设置。
强制InnoDB恢复时,您应该始终从该值开始, innodb_force_recovery=1并且只在必要时逐步增加该值。
从 MySQL 5.7.18 开始, DROP TABLE不允许使用 innodb_force_recovery大于 4 的值。
如果您知道给定表导致回滚时意外退出,则可以将其删除。如果遇到由于批量导入失败而导致的失控回滚ALTER TABLE,您可以终止 mysqld 进程并设置 innodb_force_recovery为 3在不回滚的情况下启动数据库,然后DROP是导致失控回滚的表。
如果表数据中的损坏阻止您转储整个表内容,则带有子句的查询可能能够转储损坏部分之后的表部分。 ORDER BY primary_key DESC
innodb_force_recovery 如果start 需要 一个高值InnoDB,则可能存在损坏的数据结构,这可能导致复杂查询(包含WHERE、ORDER BY或其他子句的查询)失败。在这种情况下,您可能只能运行基本SELECT * FROM t 查询。