我试着用圆立方体,它最近才坏了。我不知道这是否是由于最近发生的MySQL更新造成的,但是在phpMyAdmin中,如果我尝试查看一个表,我会得到以下错误:
1286 - Unknown storage engine 'InnoDB'
和
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)
和
[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
关于如何修复的想法?过去效果很好。
发布于 2013-03-13 20:32:18
my.cnf
中没有任何与Innodb相关的东西。我的第一个猜测是看看ib_logfile0
和ib_logfile1
in /var/lib/mysql
。
如果将它们设置为与默认大小不同的大小,则可能会阻止mysqld的启动。诺姆b_日志_文件_大小的缺省值是500万。
如果RoundCube的安装覆盖了my.cnf
,则查看是否对以前的my.cnf
进行了物理备份。把它放回原处,然后跑
service mysql start
取ib_logfile0
的文件大小除以1048576。假设是12米。
把它放在my.cnf
里
[mysqld]
innodb_log_file_size = 12M
那就跑
service mysql start
试试看!!
发布于 2015-08-02 23:29:08
只需删除ib_logfileX
文件并重新启动mysql服务即可。
您将mysql变量更改为比在mysql守护进程中设置的更大的innodb-log-file-size
变量。
发布于 2016-12-01 09:00:34
彼得已经写好了,但也许要澄清一下:
当InnoDB无法写入临时目录(通常是/tmp)时,似乎没有加载MySQL引擎。这可能是由于整个临时分区或对临时目录的权限不正确造成的。
正如彼得提到的,chmod 1777 /tmp
应该解决这个问题。之后不要忘记重新启动MySQL。
https://dba.stackexchange.com/questions/36625
复制相似问题