Сервер MariaDB 10.1 не запустится после обновления

Сегодня я работал apt-get upgrade и было обновление для Оби сервер MariaDB 10.1 Ubuntu 14.04, который перестал работать:

Setting up libmysqlclient18 (10.1.9+maria-1~trusty) ...
Setting up libmariadbclient18 (10.1.9+maria-1~trusty) ...
Setting up mariadb-client-core-10.1 (10.1.9+maria-1~trusty) ...
Setting up mariadb-client-10.1 (10.1.9+maria-1~trusty) ...
Setting up mariadb-server-core-10.1 (10.1.9+maria-1~trusty) ...
Setting up mariadb-server-10.1 (10.1.9+maria-1~trusty) ...
Installing new version of config file /etc/init.d/mysql ...

 * Stopping MariaDB database server mysqld [ OK ] 
 * Starting MariaDB database server mysqld [fail] 

invoke-rc.d: initscript mysql, action "start" failed.

dpkg: error processing package mariadb-server-10.1 (--configure):
 subprocess installed post-installation script returned error exit status 1

dpkg: dependency problems prevent configuration of mariadb-server:
 mariadb-server depends on mariadb-server-10.1 (= 10.1.9+maria-1~trusty); however:

  Package mariadb-server-10.1 is not configured yet.

dpkg: error processing package mariadb-server (--configure):
 dependency problems - leaving unconfigured
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
No apport report written because the error message indicates its a followup error from a previous failure. 

Errors were encountered while processing:

 mariadb-server-10.1
 mariadb-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Это - кошмар, я не могу больше получать доступ к базе данных. Я попытался удалить и произвести чистку его и установить снова, но это просто всегда заканчивается той же ошибкой.

Согласно /var/log/syslog это имеет некоторое отношение к сокетам и mysqld (после того, как выполнение service mysql restart):

mysqld: 151127 11:51:07 [ERROR] mysqld got signal 11 ;

...

mysqld_safe: mysqld from pid file /var/run/mysqld/mysqld.pid ended
/etc/init.d/mysql[14132]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
/etc/init.d/mysql[14132]: #007/usr/bin/mysqladmin: connect to server at 'localhost' failed
/etc/init.d/mysql[14132]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111 "Connection refused")'
/etc/init.d/mysql[14132]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

Ну, /var/run/mysqld/mysqld.sock абсолютно существует. Кроме того, я не уверен, почему это говорит что-то об использовании /etc/mysql/debian.cnf - мой основной mysql конфигурационный файл должен на самом деле быть /etc/mysql/my.cnf, нет? Я действительно вне идей, любые новые ценились бы!


Обновление (2015-12-11)

Все еще не мог выяснить то, что проблема, и обновление все еще не будет работать, все еще давая ту же ошибку. Как часть из (теперь удаленный) сказанные ответы, единственное решение состояло в том, чтобы откатывать к более старому снимку сервера. К счастью, сохранение базы данных было так же легко как копирование всего от /var/lib/mysql к другому снимку.

Я надеюсь, что существует или будет решением этого, потому что я ничего не мог найти на Google, который работал на меня.

3
задан 11 December 2015 в 11:20

1 ответ

Вот то, как я решил свою проблему, у меня не было резервного копирования сервера, таким образом, я сортирую "жесткой перезагрузки" MariaDB:

Во-первых, я создал резервную копию моего /var/lib/mysql папка: я предполагаю, что у меня есть a /home/ubuntu папка и копирование папки там.

cp -r /var/lib/mysql /home/ubuntu/

Во-вторых, я создал резервную копию моего /etc/mysql папка: я предполагаю, что у меня есть a /home/ubuntu папка и копия папка там.

mkdir /home/ubuntu/etc_mysql
cp -r /etc/mysql /home/ubuntu/etc_mysql

Затем я удалил /var/lib/mysql и /etc/mysql папки

rm -rf /etc/mysql
rm -rf /var/lib/mysql

После этого я произвел чистку MariaDB:

apt-get purge mariadb-server mariadb-* mysql-*
apt-get autoremove

После чистки я переустановил mariadb-server и реконфигурированный это:

apt-get install mariadb-server
mysql_secure_installation

Скопируйте любую конфигурацию, от которой Вы нуждаетесь /home/ubuntu/etc_mysql папка.

После этого я создал свою базу данных и пользователя от mysql cli (или однако Вы хотите),

Наконец, я скопировал мой /home/ubuntu/mysql/**databaseName** папка к /var/lib/mysql/**databaseName**

cp -r /home/ubuntu/mysql/databaseName /var/lib/mysql/

И затем, я мог получить доступ к своим данным без потери, так же, как я оставил его.

4
ответ дан 1 December 2019 в 15:55

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

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