mysql - Yum 将 Percona 从 5.6.25-rel73.1 更新到 5.6.26-rel74.0 导致服务器无法启动

标签 mysql centos percona

在 CentOS 6.7 下运行 yum 更新 Percona 服务器使其处于无法启动状态。

这来自日志/var/log/mysqld.log

150929 14:54:17 mysqld_safe Starting mysqld daemon with databases from /srv/mysql
2015-09-29 14:54:18 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-09-29 14:54:18 0 [Note] /usr/sbin/mysqld (mysqld 5.6.26-74.0) starting as process 17130 ...
2015-09-29 14:54:18 17130 [Note] Plugin 'FEDERATED' is disabled.
2015-09-29 14:54:18 17130 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-09-29 14:54:18 17130 [Note] InnoDB: The InnoDB memory heap is disabled
2015-09-29 14:54:18 17130 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-09-29 14:54:18 17130 [Note] InnoDB: Memory barrier is not used
2015-09-29 14:54:18 17130 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-09-29 14:54:18 17130 [Note] InnoDB: Using Linux native AIO
2015-09-29 14:54:18 17130 [Note] InnoDB: Using CPU crc32 instructions
2015-09-29 14:54:18 17130 [Note] InnoDB: Initializing buffer pool, size = 3.0G
2015-09-29 14:54:18 17130 [Note] InnoDB: Completed initialization of buffer pool
2015-09-29 14:54:18 17130 [Note] InnoDB: Highest supported file format is Barracuda.
2015-09-29 14:54:18 17130 [ERROR] InnoDB: Tried to read 4096 bytes at offset 286720. Was only able to read 0.
2015-09-29 14:54:18 7fe0f5f847e0  InnoDB: Operating system error number 22 in a file operation.
InnoDB: Error number 22 means 'Invalid argument'.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/operating-system-error-codes.html
2015-09-29 14:54:18 17130 [ERROR] InnoDB: File (unknown): 'read' returned OS error 122. Cannot continue operation
150929 14:54:18 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

my.cnf 看起来像这样:

[mysqld]
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
innodb_track_changed_pages = true
pid-file=/var/run/mysqld/mysqld.pid

# use interleaved id creation during bulk inserts
# w/o this bulk inserts are serialized
innodb_autoinc_lock_mode=2

innodb_log_file_size = 2000M
innodb_flush_method = O_DIRECT
#innodb_buffer_pool_size = 80G
innodb_buffer_pool_size = 5G
transaction-isolation=READ-COMMITTED

innodb_file_per_table=1
default-storage-engine = InnoDB
innodb_file_format = Barracuda

罪魁祸首似乎是这一行:

innodb_track_changed_pa​​ges = true

最佳答案

为了解决这个问题...

  1. 我们将 innodb_track_changed_pa​​ges 更改为 false
  2. 停止服务器
  3. 手动删除mysql目录下的ib_modified_log*文件
  4. 启动服务器
  5. innodb_track_changed_pa​​ges 更改为 true
  6. 重新启动服务器

这似乎是一个错误。

关于mysql - Yum 将 Percona 从 5.6.25-rel73.1 更新到 5.6.26-rel74.0 导致服务器无法启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32854885/

相关文章:

mysql - 错误代码 : 1305. FUNCTION 或 PROCEDURE 不存在

php - CakePHP 将 `id` = '1' 放在 WHERE 子句中

c - 在 Linux 上编写 PID 文件

percona - 在grafana/prometheus中对服务器进行分组

mysql - Innobackupex 从 SSH 恢复

php - 插入到不存在的地方

php - 在一列中放置多个 MySQL 行

linux - 如何检查权限是否不超过多个文件中的特定级别?

apache - ERR_CONNECTION_REFUSED 通过 SSL

mysql - 在 SELECT … INNER JOIN … FOR UPDATE 的情况下,字符串的顺序会被锁定,以及如何避免死锁?