1286 - 未知的存储引擎“InnoDB”

Tif*_*ker 4 mysql innodb mysql-5.5

我正在尝试使用圆形立方体,它最近刚刚坏了。我不知道这是否是由于最近发生的 MySQL 更新引起的,但在 phpMyAdmin 中,如果我尝试查看表格,则会收到以下错误:

1286 - Unknown storage engine 'InnoDB'
Run Code Online (Sandbox Code Playgroud)

mysql> SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MyISAM             | DEFAULT | MyISAM storage engine                                          | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

[mysqld]
default-storage-engine=MyISAM
local-infile=0
symbolic-links=0
skip-networking
max_connections = 500
max_user_connections = 20
key_buffer = 512M
myisam_sort_buffer_size = 64M
join_buffer_size = 64M
read_buffer_size = 12M
sort_buffer_size = 12M
read_rnd_buffer_size = 12M
table_cache = 2048
thread_cache_size = 16K
wait_timeout = 30
connect_timeout = 15
tmp_table_size = 64M
max_heap_table_size = 64M
max_allowed_packet = 64M
max_connect_errors = 10
query_cache_limit = 1M
query_cache_size = 64M
query_cache_type = 1
low_priority_updates=1
concurrent_insert=ALWAYS
log-error=/var/log/mysql/error.log
tmpdir=/home/mysqltmp
myisam_repair_threads=4
[mysqld_safe]
open_files_limit = 8192
log-error=/var/log/mysql/error.log

[mysqldump]
quick
max_allowed_packet = 512M

[myisamchk]
key_buffer = 64M
sort_buffer = 64M
read_buffer = 16M
write_buffer = 16M
Run Code Online (Sandbox Code Playgroud)

关于如何修复的想法?它曾经工作得很好。

Rol*_*DBA 5

观察

  • 我看到my.cnf.
  • 在错误日志中查找与 Innodb 相关的错误消息,说明 mysqld 无法启动的原因。

我的第一个猜测是查看ib_logfile0ib_logfile1in /var/lib/mysql

如果它们被设置为与默认值不同的大小,那可能会阻止 mysqld 的启动。innodb_log_file_size的默认值为 5M。

建议#1

如果RoundCube的安装覆盖了my.cnf,看你是否有以前的物理备份my.cnf。把它放回原处并运行

service mysql start
Run Code Online (Sandbox Code Playgroud)

建议#2

取文件大小ib_logfile0除以1048576。假设它是12M。

把那个放进去 my.cnf

[mysqld]
innodb_log_file_size = 12M
Run Code Online (Sandbox Code Playgroud)

然后运行

service mysql start
Run Code Online (Sandbox Code Playgroud)

试一试 !!!