MySQL-Server-8.0 на месте обновления не удается на Ubuntu 20.04

Я заметил, что, пытаясь сделать на месте обновления MySQL-Server-8.0 от 8.0.22 до 8.0.23 Ubuntu Server 20.04 в соответствии с USTO APT обновления , он просто умирает через момент со следующим выходом:

mysqld will log errors to /var/log/mysql/error.log
2021-02-21T06:05:07.442487Z 0 [ERROR] [MY-010946] [Server] Failed to start mysqld daemon. Check mysqld error log.
Warning: Unable to start the server.
Job for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xe" for details.
invoke-rc.d: initscript mysql, action "start" failed.
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: activating (auto-restart) (Result: exit-code) since Sun 2021-02-21 06:05:22 UTC; 26ms ago
    Process: 41310 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
    Process: 41328 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
   Main PID: 41328 (code=exited, status=1/FAILURE)
     Status: "Server upgrade complete"
      Error: 2 (No such file or directory)

Feb 21 06:05:22 astrid systemd[1]: mysql.service: Failed with result 'exit-code'.
Feb 21 06:05:22 astrid systemd[1]: Failed to start MySQL Community Server.
Feb 21 06:05:22 astrid systemd[1]: mysql.service: Scheduled restart job, restart counter is at 1.
Feb 21 06:05:22 astrid systemd[1]: Stopped MySQL Community Server.
Feb 21 06:05:22 astrid systemd[1]: Starting MySQL Community Server...
dpkg: error processing package mysql-server-8.0 (--configure):
 installed mysql-server-8.0 package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-8.0; however:
  Package mysql-server-8.0 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          Errors were encountered while processing:
 mysql-server-8.0
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Я смущаюсь, почему статус, сообщаемый здесь, является «обновление сервера», когда CAT /VAR/LOG/MYSQL/ERROR.LOG Сообщает следующее:

2021-02-21T06:16:27.927806Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.23-0ubuntu0.20.04.1) starting as process 44099
2021-02-21T06:16:27.941118Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-02-21T06:16:39.324349Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-02-21T06:16:40.039901Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '127.0.0.1' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2021-02-21T06:16:40.064275Z 4 [System] [MY-013381] [Server] Server upgrade from '80022' to '80023' started.
2021-02-21T06:16:40.144762Z 4 [ERROR] [MY-013178] [Server] Execution of server-side SQL statement '-- Create general_log CREATE TABLE IF NOT EXISTS general_log (event_time TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), user_host MEDIUMTEXT NOT NULL, thread_id BIGINT UNSIGNED NOT NULL, server_id INTEGER UNSIGNED NOT NULL, command_type VARCHAR(64) NOT NULL, argument MEDIUMBLOB NOT NULL) engine=CSV CHARACTER SET utf8 comment="General log"; ' failed with error code = 13, error message = 'Can't get stat of './mysql/general_log.CSV' (OS errno 2 - No such file or directory)'.
2021-02-21T06:16:40.148170Z 0 [ERROR] [MY-013380] [Server] Failed to upgrade server.
2021-02-21T06:16:40.149339Z 0 [ERROR] [MY-010119] [Server] Aborting
2021-02-21T06:16:41.024514Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.23-0ubuntu0.20.04.1)  (Ubuntu).
2021-02-21T06:16:41.700252Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.23-0ubuntu0.20.04.1) starting as process 44151
2021-02-21T06:16:41.715601Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.

Любая помощь значительно ценится!

1
задан 21 February 2021 в 09:21

1 ответ

Это повтор очень старой ошибки MySQL. Сначала проверим, существует ли файл .csv, который нужен скрипту обновления:

sudo ll {mysql_data_directory}/*.csv

Обязательно замените {mysql_data_directory} на ваш реальный каталог данных MySQL. Если файл существует, подтвердите, что он принадлежит mysql. Если он не существует, попробуйте этот уродливый хак:

touch {mysql_data_directory}/mysql.general_log.CSV 
touch {mysql_data_directory}/mysql.slow_log.CSV 

Затем снова запустите обновление. MySQL выдаст сообщение, похожее на:

ERROR 1194 (HY000) at line 719: Table 'general_log' is marked as crashed and should be repaired 
ERROR 1194 (HY000) at line 730: Table 'slow_log' is marked as crashed and should be repaired 
FATAL ERROR: Upgrade failed 

Затем запустите MySQL (он снова выдаст сообщение), подключитесь как root, затем исправьте лог-файлы следующим образом:

mysql> repair table general_log; 
mysql> repair table slow_log; 

Как только это будет сделано, затем снова запустите обновление. Это окончательное обновление должно пройти.

0
ответ дан 18 March 2021 в 23:32

Другие вопросы по тегам:

Похожие вопросы: