报错信息:uncategorized SQLException; SQL state [HY000]; error code [1015]; Can't lock file (errno: 165 - Table is read only); nested exception is java.sql.SQLException: Can't lock file (errno: 165 - Table is read only)
我的解决方法:
将innodb_force_recovery注释
它的主要作用是启用InnoDB引擎的一种"强制恢复"模式,这样你可以尝试从某些特定的问题中进行恢复,而不至于让整个数据库变得不可用。
在使用
- 0: 禁用强制恢复,正常启动InnoDB引擎。
- 1-6: 启用不同级别的强制恢复,级别越高,尝试恢复的操作越多,但也伴随着越大的风险。6是最高级别。
- 大于6: 保留给开发和调试使用,通常不建议在生产环境中使用
禁用
禁用该参数的影响包括:
-
正常操作: 禁用
innodb_force_recovery 将使 InnoDB 引擎按照正常的启动过程来工作。这意味着数据库将尝试打开和使用所有的表,并执行正常的读写操作。 -
数据一致性: 在禁用
innodb_force_recovery 的情况下,系统会尽力确保数据库的一致性。这是通过正常的事务处理和恢复机制来实现的,确保事务的原子性、一致性、隔离性和持久性。 -
性能: 在正常模式下,数据库应该可以正常运行而无需额外的恢复工作。因此,性能应该能够达到正常水平。
-
完整性: 禁用
innodb_force_recovery 有助于确保数据库的完整性。在恢复模式下,为了尝试修复潜在的问题,可能会执行一些破坏性的操作,而在正常模式下,这些操作是不会发生的。
总体来说,禁用