서비스 mysqld 5.6이 CentOS 6.9에서 계속 시작 및 중지됩니다.

서비스 mysqld 5.6이 CentOS 6.9에서 계속 시작 및 중지됩니다.

내 VPS에서는 mysqld가 시작된 후 자동으로 중지되었다가 다시 시작됩니다.

나는 그것을 시도했고 sudo service mysqld stop효과가 있었다. 수동으로 성공적으로 시작했습니다. 그런데 갑자기 멈췄다가 시작하고, 계속 시작하고 멈췄습니다.

매번 다른 PID를 얻습니다.

이 문제를 어떻게 해결할 수 있나요?

mysqld를 수동으로 시작했는데 다음 오류가 발생했습니다.

2018-12-30 16:51:00 4535 [Note] Plugin 'FEDERATED' is disabled.
2018-12-30 16:51:00 4535 [Warning] option 'innodb-buffer-pool-size': signed value 65536 adjusted to 5242880
2018-12-30 16:51:00 4535 [Note] InnoDB: Using atomics to ref count buffer pool pages
2018-12-30 16:51:00 4535 [Note] InnoDB: The InnoDB memory heap is disabled
2018-12-30 16:51:00 4535 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2018-12-30 16:51:00 4535 [Note] InnoDB: Memory barrier is not used
2018-12-30 16:51:00 4535 [Note] InnoDB: Compressed tables use zlib 1.2.11
2018-12-30 16:51:00 4535 [Note] InnoDB: Using Linux native AIO
2018-12-30 16:51:00 4535 [Note] InnoDB: Using CPU crc32 instructions
2018-12-30 16:51:00 4535 [Note] InnoDB: Initializing buffer pool, size = 5.0M
2018-12-30 16:51:00 4535 [Note] InnoDB: Completed initialization of buffer pool
2018-12-30 16:51:00 4535 [Note] InnoDB: Highest supported file format is Barracuda.
2018-12-30 16:51:00 4535 [Note] InnoDB: 128 rollback segment(s) are active.
2018-12-30 16:51:00 4535 [Note] InnoDB: 5.6.42 started; log sequence number 4940394469
2018-12-30 16:51:00 4535 [Note] InnoDB: !!! innodb_force_recovery is set to 3 !!!
2018-12-30 16:51:00 4535 [Note] Server hostname (bind-address): '*'; port: 3306
2018-12-30 16:51:00 4535 [Note] IPv6 is available.
2018-12-30 16:51:00 4535 [Note]   - '::' resolves to '::';
2018-12-30 16:51:00 4535 [Note] Server socket created on IP: '::'.
2018-12-30 16:51:00 4535 [Warning] 'user' entry '[email protected]' ignored in --skip-name-resolve mode.
2018-12-30 16:51:00 4535 [Warning] 'user' entry '@v4452.vir.kagoya.net' ignored in --skip-name-resolve mode.
2018-12-30 16:51:00 4535 [Warning] 'proxies_priv' entry '@ [email protected]' ignored in --skip-name-resolve mode.
2018-12-30 16:51:00 4535 [Note] Event Scheduler: Loaded 0 events
2018-12-30 16:51:00 4535 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.6.42'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server (GPL)
2018-12-30 16:51:15 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:51:15 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:51:15 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:53:56 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:53:56 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:53:56 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:54:16 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:54:16 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:54:16 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:54:32 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:54:32 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:54:32 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:54:33 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:54:33 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:54:33 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:56:18 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired
2018-12-30 16:56:18 4535 [ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired

MySQL CLI에서도 이 작업을 수행했습니다.

mysql> use mylife;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    1

mylife DB에는 InnoDB 테이블이 있습니다.

답변1

손상된 테이블이 있습니다. innodb_force_recovery정상적인 MySQL 시작에 사용하기에 적합하지 않고 innodb_force_recovery잘못된 값으로 설정되어 MySQL 실행이 중단됩니다.

MySQL 로그에서:

  • WordPress 데이터베이스 테이블 /mylife/wp_options가 손상된 것으로 표시됩니다.
  • innodb_force_recovery잘못된 값으로 설정하세요.

innodb_force_recovery1로 설정 하고 MySQL을 시작합니다.가능한테이블을 수동으로 복구할 수 있지만 MySQL이 제대로 시작되지 않습니다.

다음 명령으로 시작하십시오.

/usr/sbin/mysqld --skip-grant-tables --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/HOSTNAME.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock

그런 다음 다음을 수행하십시오.

# mysql
> use mylife;
> repair table wp_options;
> exit;

지금,제거하다innodb_force_recovery설정. 나중에 MySQL을 다시 시작할 수 있습니다.

참고로 다음을 참조하세요.mysql Innodb - 'users' 테이블이 충돌한 것으로 표시되어 수정되어야 합니다.

MySQL이 테이블을 복원할 수 없거나(가능성이 낮음) 테이블 파일을 수동으로 복원하려는 경우 MySQL이 시작되기 전에 데이터베이스 덤프에서 wp_options 테이블을 복원해야 합니다. InnoDB 테이블은 MyISAM과 같은 별도의 테이블 파일로 복원되지 않습니다. 이는 사람들이 자주 저지르는 실수입니다.

관련 로그:

InnoDB: !!! innodb_force_recovery is set to 3 !!!  
[ERROR] /usr/sbin/mysqld: Table './mylife/wp_options' is marked as crashed and should be repaired

또한 이 옵션을 사용하는 경우 --skip-name-resolve다음 로그에 따라 DNS 이름이 아닌 IP 주소로 인증해야 합니다. 이는 경고이며 이전 설정의 잔재일 수 있습니다. 그러나 귀하의 질문에 대한 더 나은 맥락이 부족하여 무슨 말을 해야 할지 모르겠습니다.

[Warning] 'user' entry '[email protected]' ignored in --skip-name-resolve mode.
[Warning] 'user' entry '@v4452.vir.kagoya.net' ignored in --skip-name-resolve mode.
[Warning] 'proxies_priv' entry '@ [email protected]' ignored in --skip-name-resolve mode.

다른 PID를 가져오는 경우 서비스가 중단되거나 다시 시작되는 경우 후속 실행마다 다른 PID를 가져오는 것이 정상적인 동작입니다.

관련 정보