错误InnoDB:Attemptedtoopenapreviouslyopenedtablespace.

启用MySql服务的时候出现“windows无法启动mysql服务(位于本地计算机上。错误1067:进程意外终止)”,看看mysql服务并没有其他的依赖安系啊,于是突然想到进系统日志看看。果然发现非常多MySql的非常多错误,最终找到问题所在。

没错,查看系统日志就可以了。

可以看到,系统显示无法识别的变量“default-character-set=utf-8”,直接百度,将配置文件my.ini里[mysqld]下的“default-character-set=utf-8”改为“character-set-server=utf-8”,简单粗暴解决问题。

再深入一点(再百度一下),原来起因是我在安装了数据库后,重新配置了数据库的编码,在配置文件里添加了default-character-set=utf-8,但是由于MYSQL版本限制,我的MYSQL版本(5.5)要使用“character-set-server”进行编码配置,而不能使用“default-character-set”。

 

2019-02-14 13:48:22 760 [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace isaactest/wp_usermeta uses space ID: 2 at filepath: .\isaactest\wp_usermeta.ibd. Cannot open tablespace mysql/innodb_index_stats which uses space ID: 2 at filepath: .\mysql\innodb_index_stats.ibd
InnoDB: Error: could not open single-table tablespace file .\mysql\innodb_index_stats.ibd
InnoDB: We do not continue the crash recovery, because the table may become
InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it.
InnoDB: To fix the problem and start mysqld:
InnoDB: 1) If there is a permission problem in the file and mysqld cannot
InnoDB: open the file, you should modify the permissions.
InnoDB: 2) If the table is not needed, or you can restore it from a backup,
InnoDB: then you can remove the .ibd file, and InnoDB will do a normal
InnoDB: crash recovery and ignore that table.
InnoDB: 3) If the file system or the disk is broken, and you cannot remove
InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf
InnoDB: and force InnoDB to continue crash recovery here.
 

出现这个问题好几次了,每次的解决问题都是重新弄下Mysql.

我用的是XAMPP 1.83,今天终于找到解决办法了

在D:\xampp\mysql\bin下面的my.ini中添加

innodb_force_recovery = 1

OK,谢谢。

MySQL启动报错,出现InnoDB插件初始化失败、操作系统错误号13(表示无目录访问权限)以及无法确定文件权限等问题,可参考以下解决办法: 1. **检查磁盘空间**:确保磁盘有足够的空间供MySQL使用,可使用`df -f`命令来检查磁盘使用情况[^1]。 2. **查看日志**:查看MySQL日志文件,如`/var/log/mysqld.log`,从中获取详细的错误信息,以定位问题。示例如下: ```bash [root@localhost ~]# cat /var/log/mysqld.log ... 2020-03-13T18:53:16.099273Z 0 [ERROR] InnoDB: Operating system error number 13 in a file operation. 2020-03-13T18:53:16.099347Z 0 [ERROR] InnoDB: The error means mysqld does not have the access rights to the directory. 2020-03-13T18:53:16.099357Z 0 [ERROR] InnoDB: os_file_get_status() failed on './ibdata1'. Can't determine file permissions 2020-03-13T18:53:16.099369Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error 2020-03-13T18:53:16.718886Z 0 [ERROR] Plugin 'InnoDB' init function returned error. 2020-03-13T18:53:16.718953Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2020-03-13T18:53:16.718962Z 0 [ERROR] Failed to initialize builtin plugins. 2020-03-13T18:53:16.718966Z 0 [ERROR] Aborting ``` 3. **备份并修改SELinux配置**:备份SELinux配置文件,然后将SELinux设置为禁用状态。示例命令如下: ```bash [root@localhost ~]# cp -r /etc/selinux/config /etc/selinux/config.bak [root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config [root@localhost ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值