【问题标题】:Yum updating Percona from 5.6.25-rel73.1 to 5.6.26-rel74.0 results in an unstartable serverYum 将 Percona 从 5.6.25-rel73.1 更新到 5.6.26-rel74.0 会导致服务器无法启动
【发布时间】:2015-09-29 22:36:51
【问题描述】:

在 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

【问题讨论】:

    标签: mysql centos percona


    【解决方案1】:

    为了解决这个问题...

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

    这似乎是一个错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-25
      • 1970-01-01
      • 2018-01-29
      相关资源
      最近更新 更多