CentOS 7 - MySQL 5.7 переустановка поврежденных данных - PullRequest
0 голосов
/ 27 мая 2018

У меня есть виртуальная машина CentOS 7 с установкой DirectAdmin.Он использовался для запуска установки MySQL 5.6, созданной с использованием DirectAdmin Custombuild 2.0.Мне нужна была некоторая функциональность (например, JSON ops), которая не была доступна в MySQL 5.6, поэтому я вручную установил MySQL 5.7 из репозитория MySQL, используя руководство по https://www.tecmint.com/install-latest-mysql-on-rhel-centos-and-fedora/.

. Это работало до тех пор, пока несколько дней назад,когда мне нужно было перестроить мою установку Custombuild, и она явно перезаписала установку MySQL с версией 5.6.Я НЕ делал резервную копию баз данных (я знаю, действительно глупо, и я сожалею об этом).

После перезаписи Custombuild я переустановил MySQL 5.7, используя то же самое руководство.Теперь, когда я пытаюсь запустить его, я получаю следующее:

[riccardo@server ~]$ sudo systemctl start mysqld
[sudo] password for riccardo: 
Job for mysqld.service failed because the control process exited with        
error code. See "systemctl status mysqld.service" and "journalctl
-xe" for details.

В журнале / var / log / mysqld.log говорится следующее:

2018-05-27T17:42:02.769069Z 0 [Warning] TIMESTAMP with implicit
DEFAULT value is deprecated. Please use
--explicit_defaults_for_timestamp server option (see documentation for
more details).
2018-05-27T17:42:02.770667Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.22)
starting as process 31752 ...
2018-05-27T17:42:02.773699Z 0 [Note] InnoDB: PUNCH HOLE support
available
2018-05-27T17:42:02.773726Z 0 [Note] InnoDB: Mutexes and rw_locks use
GCC atomic builtins    
2018-05-27T17:42:02.773731Z 0 [Note] InnoDB: Uses event mutexes
2018-05-27T17:42:02.773734Z 0 [Note] InnoDB: GCC builtin
__atomic_thread_fence() is used for memory barrier
2018-05-27T17:42:02.773739Z 0 [Note] InnoDB: Compressed tables use
zlib 1.2.3
2018-05-27T17:42:02.773742Z 0 [Note] InnoDB: Using Linux native AIO
2018-05-27T17:42:02.773999Z 0 [Note] InnoDB: Number of pools: 1
2018-05-27T17:42:02.774100Z 0 [Note] InnoDB: Using CPU crc32
instructions
2018-05-27T17:42:02.775492Z 0 [Note] InnoDB: Initializing buffer pool,
total size = 128M, instances = 1, chunk size = 128M
2018-05-27T17:42:02.783306Z 0 [Note] InnoDB: Completed initialization
of buffer pool
2018-05-27T17:42:02.786037Z 0 [Note] InnoDB: If the mysqld execution
user is authorized, page cleaner thread priority can be changed. See
the man page of setpriority().
2018-05-27T17:42:02.797885Z 0 [ERROR] [FATAL] InnoDB: Table flags are
0 in the data dictionary but the flags in file ./ibdata1 are 0x4000!
2018-05-27 19:42:02 0x7efd82b32740  InnoDB: Assertion failure in
thread 139627284604736 in file ut0ut.cc line 942

Следовательно, похоже, что данные InnoDB повреждены.Я попытался начать использовать

[mysqld]
innodb_force_recovery = x

в / etc / my.cnf со значениями 1-6 для x.Это не помогло.Что касается моего вопроса: есть ли шанс восстановить данные, с помощью или без помощи MySQL?

...