mysql无法启动,错误日志见下面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql无法启动,错误日志见下面相关的知识,希望对你有一定的参考价值。

140903 18:12:53 [Note] InnoDB: The InnoDB memory heap is disabled
140903 18:12:53 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
140903 18:12:53 [Note] InnoDB: Compressed tables use zlib 1.2.3
140903 18:12:53 [Note] InnoDB: Not using CPU crc32 instructions
2014-09-03 18:12:53 1690 InnoDB: Error: unable to create temporary file; errno: 0
140903 18:12:53 [ERROR] Plugin 'InnoDB' init function returned error.
140903 18:12:53 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140903 18:12:53 [Note] Plugin 'FEEDBACK' is disabled.
140903 18:12:53 [ERROR] Unknown/unsupported storage engine: InnoDB
140903 18:12:53 [ERROR] Aborting

配置文件(应该不是配置文件的问题吧,前几天还可以正常启动的,今天什么都没改却没法启动了):

[client]
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8

[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 240K

character-set-server=utf8
datadir=F:/MariaDB/data

server-id = 1

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
character-set-server=utf8
no-auto-rehash

[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout

参考技术A 找不到'mysql.plugin,可能是你的mysql路径更改了。建议把mysql删除了然后在重新安装追问

没有更改呀,我觉得应该是这句的问题:
Not using CPU crc32 instructions 2014-09-03 18:12:53 1690 InnoDB: Error: unable to create temporary file; errno: 0

参考技术B 是不是你innodb的配置被你全注释了????

存储引擎坏了..感觉吧...可能真需要重新加载下引擎..或者把日志删除了在启看看..删除前记得备份....本回答被提问者和网友采纳

18MySQL日志管理(上)

MySQL日志是记录MySQL服务器活动的文件。通过分析这些日志文件,可以了解MySQL服务器的运行情况,诊断故障,优化数据库性能等。MySQL提供了多种类型的日志文件,下面是一些常见的日志类型:

18、MySQL日志管理(上)_log_warnings

1、错误日志(Error log):记录MySQL服务器启动和运行过程中出现的错误信息,例如无法打开文件,内存不足等等。错误日志一般存储在MySQL安装目录下的data目录下。

2、二进制日志(Binary log):记录所有对MySQL数据库进行修改的操作,例如增加、修改、删除表和数据等。二进制日志是MySQL数据库复制和恢复的关键。

3、慢查询日志(Slow query log):记录执行时间超过指定时间的SQL查询语句,可以帮助开发人员分析和优化查询语句。慢查询日志可以通过设置参数slow_query_log来开启或关闭,日志文件一般存储在MySQL安装目录下的data目录下。

4、查询日志(Query log):记录MySQL服务器执行的所有SQL查询语句,包括慢查询日志中的查询语句,查询日志可以通过设置参数general_log来开启或关闭,日志文件一般存储在MySQL安装目录下的data目录下。

5、事务日志(Transaction log):记录所有的事务操作,包括事务的开始、提交、回滚等。事务日志主要用于数据库的恢复和数据一致性保证。

6、通用日志是MySQL中的一个默认日志,用于记录服务器的重要事件,例如启动、关闭、连接和断开连接。通用日志可以包含许多不同的事件,如错误消息和警告

7、中继日志(Relay Log)是MySQL主从复制中从服务器上的一种日志,用于记录从主服务器接收到的二进制日志的内容,然后将其应用于从服务器上的本地副本,以保证从服务器的数据与主服务器的数据同步。

对于日志文件的管理,可以根据实际需求进行配置,一般包括以下几个方面:

日志开启和关闭:根据需要开启或关闭不同类型的日志,可以通过在MySQL配置文件my.cnf中设置参数来控制日志的开启和关闭。

日志存储和备份:将日志文件存储在独立的磁盘分区中,定期备份和压缩日志文件,以免日志文件过大导致磁盘空间不足。

日志分析和维护:定期分析和维护日志文件,查找可能存在的问题和异常情况,并进行优化和修复。

日志安全性:保护日志文件的安全性,限制对日志文件的访问权限,防止日志文件被恶意篡改或删除。

事务日志

MySQL(或MariaDB)的事务日志(Transaction Log),是一个二进制文件,记录了所有对数据库表进行的修改操作。事务日志是MySQL恢复机制的重要组成部分,可以帮助MySQL执行崩溃恢复、数据复制和数据恢复等操作。

事务日志有两种类型:

重做日志(Redo Log)

重做日志是用于防止意外关机和其他类似问题的崩溃恢复机制。它记录了所有修改操作,并且是写入磁盘的顺序写入文件中的二进制文件。

回滚日志(Undo Log)

回滚日志用于撤销事务的操作。如果某个事务在执行期间发生错误或中断(如死锁),系统将使用回滚日志将数据回滚到事务执行之前的状态。

由于MySQL使用预写日志(Write Ahead Log,WAL)机制,故所有修改操作都将先写入预写日志,然后再提交到对应的数据文件中。与日志文件不同,数据文件对磁盘的IO压力较大,数据文件较大且难以管理,故使用事务日志能够更好地管理数据库的可靠性和安全性

事务日志的相关配置

innodb_log_file_size 50331648 每个日志文件大小
innodb_log_files_in_group 2 日志组成员个数
innodb_log_group_home_dir ./ 事务文件路径
innodb_flush_log_at_trx_commit 默认为1

18、MySQL日志管理(上)_事务日志_02

18、MySQL日志管理(上)_错误日志_03

18、MySQL日志管理(上)_事务日志_04

事务日志性能优化参数innodb_flush_log_at_trx_commit

18、MySQL日志管理(上)_log_warnings_05

18、MySQL日志管理(上)_事务日志_06

18、MySQL日志管理(上)_事务日志_07

当innodb_flush_log_at_trx_commit取不同值时的特点可以用下面的表格来清晰地展示:

18、MySQL日志管理(上)_log_error_08

当innodb_flush_log_at_trx_commit取0时,InnoDB的日志缓冲区并不会立刻被写入到磁盘,而是在日志缓冲区被占满时,才会将缓冲区中的日志写入到磁盘。这种方式具有很高的性能,但安全性较低,如果MySQL进程在写入数据时崩溃,那么未被写入磁盘的日志数据会丢失。

当innodb_flush_log_at_trx_commit取1时,InnoDB的日志缓冲区会被较为频繁地写入到磁盘,相比上一种方式安全性大大提高,但性能也有所降低。

当innodb_flush_log_at_trx_commit取2时,InnoDB的日志缓冲区会被缓存入操作系统的高速缓存IO缓冲区中,然后会使用异步方式刷新到磁盘中去,并不会每次事务提交都写入磁盘,所以性能较为稳定,安全性也较高。但是如果发生系统崩溃,可能会导致一部分事务的日志记录丢失,需要使用Redo Log来进行恢复。

高并发业务行业最佳实践,是使用第三种折衷配置(=2):

1.配置为2和配置为0,性能差异并不大,因为将数据从Log Buffer拷贝到OS cache,虽然跨越用户态与内
核态,但毕竟只是内存的数据拷贝,速度很快
2.配置为2和配置为0,安全性差异巨大,操作系统崩溃的概率相比MySQL应用程序崩溃的概率,小很多,设置
为2,只要操作系统不奔溃,也绝对不会丢数据
错误日志

错误日志

mysqld启动和关闭过程中输出的事件信息
mysqld运行中产生的错误信息
event scheduler运行一个event时产生的日志信息
在主从复制架构中的从服务器上启动从服务器线程时产生的信息

18、MySQL日志管理(上)_log_warnings_09

18、MySQL日志管理(上)_错误日志_10

记录哪些警告信息至错误日志文件

18、MySQL日志管理(上)_错误日志_11

log_warnings的值为0,表示不记录警告信息。
log_warnings的值为1,表示警告信息一并记录到错误日志中。
log_warnings的值大于1,表示"失败的连接"的信息和创建新连接时"拒绝访问"类的错误信息也会被记录到错误日志中。





以上是关于mysql无法启动,错误日志见下面的主要内容,如果未能解决你的问题,请参考以下文章

18MySQL日志管理(上)

请帮忙分析Linux下mysql启动不起来的原因

学习笔记之MySQL 日志文件管理

MySQL 无法启动,出现 “发生系统错误 1067。”

Mysql中错误日志binlog日志查询日志慢查询日志简单介绍

MySQL--MySQL 日志