- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
解決MySQL無法啟動報錯mysql Tablespace 3145 was not found at XXX
MySQL無法啟動報錯:mysql Tablespace 3145 was not found at XXX
根據錯誤信息可以發現是因為表空間找不到導致mysql啟動失敗。
解決辦法:
在mysql配置文件中/etc/my.cnf添加以下配置:
innodb_force_recovery = 1
innodb_force_recovery參數解釋:崩潰恢復模式,通常只有在嚴重故障排除情況下才會改變。可以的值是從0到6。只有在緊急情況下才將這個變量設置為大于0的值,這樣你才能啟動InnoDB并轉儲你的表。作為一種安全措施,當innodb_force_recovery大于0時,InnoDB可以防止插入、更新或刪除操作。在5.6.15,innodb_force_recovery設置為4或更大,將InnoDB設置為只讀模式。由于relay_log_info_repository=TABLE和master_info_repository=TABLE在InnoDB表中存儲信息,這些限制可能導致復制管理命令失敗并出現錯誤。
而后啟動mysql,啟動后,發現我未執行完的那個庫無法刪除。
ERROR 3679 (HY000): Schema directory './xxx/' does not exist
如果,確實發現該數據已不存在,而且確實要刪除該數據庫。下面提供一種強制刪除的方法。
#刪除一個已經確定存在的數據庫:
mysql> drop database xxx;
Query OK, 0 rows affected (0.00 sec)
#刪除一個不確定存在的數據庫:
#發生錯誤,不能刪除'xxx'數據庫,該數據庫不存在。
mysql> drop database xxx;
ERROR 1008 (HY000): Can't drop database 'xxx'; database doesn't exist
#產生一個警告說明此數據庫不存在
mysql> drop database if exists xxx;
Query OK, 0 rows affected, 1 warning (0.00 sec)
#創建一個數據庫
mysql> create database xxx;
Query OK, 1 row affected (0.00 sec)
#if exists 判斷數據庫是否存在,不存在也不產生錯誤
mysql> drop database if exists xxx;
Query OK, 0 rows affected (0.00 sec)
刪除之后再去掉/etc/my.cnf中添加個那個配置再重啟mysql即可。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP