Назад | Перейти на главную страницу

apt-get застревает в mysql после создания виртуальной машины из снимка в облаке Google

Я использую облако Google, и у меня есть виртуальная машина (Ubuntu 18.04), которая работает нормально. Команда apt-get работает нормально, и служба mysql работает хорошо. Назовем его ВМ-1

Мне нужно было создать еще один дубликат vm, поэтому я сначала сделал снимок vm-1 и использовал этот снимок для создания нового vm, названного vm-2.

Работая над vm-2, я обнаружил, что простая команда sudo apt-get install *** потерпит неудачу и застрянет на шаге, связанном с mysql-server. Ниже приведен пример:

John@vm-2:~$ sudo apt-get install tree
Reading package lists... Done
Building dependency tree
Reading state information... Done
tree is already the newest version (1.7.0-5).
The following packages were automatically installed and are no longer required:
  libnvidia-common-390 linux-gcp-headers-5.0.0-1033
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 170 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up mysql-server-5.7 (5.7.30-0ubuntu0.18.04.1) ...
/var/lib/mysql/ibdata1: 14143
ERROR: Database files are locked. Daemon already running?
Warning: Unable to start the server. Please restart MySQL and run mysql_upgrade to ensure the database is ready for use.
/var/lib/mysql/ibdata1: 14143
ERROR: Database files are locked. Daemon already running?
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 Wed 2020-08-12 18:11:39 JST; 7ms ago
  Process: 24068 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid (code=exited, status=1/FAILURE)
  Process: 24046 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 1711 (code=exited, status=0/SUCCESS)
dpkg: error processing package mysql-server-5.7 (--configure):
 installed mysql-server-5.7 package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 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-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
John@vm-2:~$

Он продолжает говорить, что

ERROR: Database files are locked. Daemon already running?
Warning: Unable to start the server. Please restart MySQL and run mysql_upgrade to ensure the database is ready for use.
/var/lib/mysql/ibdata1: 14143
ERROR: Database files are locked. Daemon already running?
Warning: Unable to start the server.

Какое отношение имеет apt-get к mysql-серверу? Я всегда думал, что это 2 независимых программы.

Как я могу исправить эту проблему? Я ничего не сделал, кроме восстановления снимка, который отлично работает в исходной vm. При всем одинаковом, почему? apt-get потерпит неудачу?

Следующая строка журнала: 2 not fully installed or removed. предполагает, что apt-get пытается завершить ранее неудачную установку пакета (mysql-server-5.7), прежде чем приступить к новому запросу на установку (дерево), поэтому вы видите mysql-server, упомянутый в этих выходных данных.

Я бы посоветовал определить, запущен ли сервер mysql через ps -ef | grep -i mysql или netstat -lntp | grep 3306 и решение проблемы, вызывающей ERROR: Database files are locked. Daemon already running?

если это решено, это позволит успешно завершить установку предыдущего пакета

  1. Если вы запускали mysql вручную, я бы предложил остановить этот процесс и снова запустить исходную команду.

  2. Если возможно, что если вы запускали mysql в какой-то момент ранее как root, вы можете проверить разрешения для файлов в /var/lib/mysql/ibdata1 папка