Ошибка установки mySql в Ubuntu 16.04

15

Я следовал инструкциям на этой странице, чтобы установить MySQL на Ubuntu 16.04.

Я на полпути вниз по этой странице в разделе «Установка и настройка MySQL», и я запускаю команду sudo apt-get install mysql-server. Я столкнулся с ошибкой, однако, вот вывод этой ошибки в моем терминале:

Preconfiguring packages ...
Selecting previously unselected package mysql-common.
(Reading database ... 41515 files and directories currently installed.)
Preparing to unpack .../mysql-common_5.7.12-0ubuntu1_all.deb ...
Unpacking mysql-common (5.7.12-0ubuntu1) ...
Selecting previously unselected package mysql-client-5.7.
Preparing to unpack .../mysql-client-5.7_5.7.12-0ubuntu1_amd64.deb ...
Unpacking mysql-client-5.7 (5.7.12-0ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up mysql-common (5.7.12-0ubuntu1) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Selecting previously unselected package mysql-server-5.7.
(Reading database ... 41563 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.12-0ubuntu1_amd64.deb ...
Unpacking mysql-server-5.7 (5.7.12-0ubuntu1) ...
Selecting previously unselected package mysql-server.
Preparing to unpack .../mysql-server_5.7.12-0ubuntu1_all.deb ...
Unpacking mysql-server (5.7.12-0ubuntu1) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up mysql-client-5.7 (5.7.12-0ubuntu1) ...
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
mysql_upgrade: Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) while connecting to the MySQL server
Upgrade process encountered error and will not continue.
mysql_upgrade failed with exit status 11
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script 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
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Я впервые настраиваю сервер, а также устанавливаю mysql. Не уверен, что это может быть возможной причиной ошибки, но я ранее пытался установить mysql, но не следовал процессу LAMP (я новичок в этом разбираюсь), и это было неудачно, и мне пришлось удалить.

Даррен Хейнс
источник
Добро пожаловать в AskUbuntu. В вашем журнале есть строка Access denied for user 'debian-sys-maint'@'localhost'. Откуда этот пользователь? Я не ожидал бы найти его в системе Ubuntu.
Гюнтберт
Привет Гунтберт - с небольшим поиском кажется его debian.cnfфайл. Я нашел этот stackoverflow.com/questions/11644300/… и, глядя на ответ, получивший 47 баллов (не принятый ответ), обнаружилось несоответствие пароля. Я даю ему шанс - безуспешно, потому что я не знаю, какой пароль к чему!
Даррен Хейнс
Этот ответ решит проблему для меня без чистки mysql: /ubuntu//a/793545/597698
Elkana Bardugo

Ответы:

17

Этот ответ также в ответ на обновление 16.04 сломал MySQL-сервер, но я не могу ответить, поскольку администратор заблокировал его до 10 репутации.

Ошибка в APT возникает при обновлении Ubuntu до 16.04 (xenial) и Mysql с 5.5 до 5.7. Из-за некоторых проблем с упаковкой обновление APT заканчивается в подвешенном состоянии, поскольку не удается завершить сценарий после установки Mysql-server-5.7.

Чтобы решить проблему, попробуйте эти шаги:

  1. apt purge mysql-server и apt autoremoveубрать все следы старого MYSQL. Данные базы данных не будут уничтожены.
  2. Удалить все из /etc/mysqlкаталога.
  3. Убедитесь, что старые пакеты Mysql не установлены: dpkg -l | grep mysql
  4. apt install mysql-server установить

Если эти шаги заканчиваются в той же неполной установке, попробуйте следующий шаг:

  1. Tail -n 20 /var/log/mysql/error.log
  2. Ошибки могут быть. неверный пароль для debian-sys-maint b. нет памяти для Innodb

Решение 2a: Вам необходимо обновить системные таблицы Mysql с 5.5 до 5.7

Отредактируйте my.cnf, чтобы включить в '[mysqld]' строку "skip-grant-tables" service mysql start, иmysql_upgrade --force -u root -p

Решить 2b: Вам не хватает памяти для пула Mysql Innodb (вы на сервере малого размера?)

Отредактируйте my.cnf для включения в строку «[mysqld]» строки innodb_buffer_pool_size = 20M

пул innodb по умолчанию - 128M, что ограничено в 512M VM

Чтобы убрать ошибку APT, повторите пост-установку

dpkg --configure -a
Kaceo
источник
Удалит ли он базы данных или останется в безопасности?
Thirumal
5

Полное удаление mysql и переустановка были решением, к которому я в конце концов пришел. Хотя я попытался удалить и переустановить один раз безуспешно (таким образом, заставляя меня задать этот вопрос). Я попытался более тщательно удалить после поиска совета на этой странице: полностью удалить MySQL

Следуя инструкциям по удалению и переустановке, проблема решена.

Даррен Хейнс
источник
5

Еще одно хорошее решение:

sudo apt-get purge mysql* && sudo apt-get install mysql-server
Пэт МакШерри
источник
3

Это сработало для меня:

sudo apt-get remove --purge mysql*

Эта команда спросит Вас , если Вы хотите , чтобы удалить ваши базы данных с , /var/lib/mysqlа также будут удалены все другие экземпляры MySQL!

Поэтому сначала создайте резервную копию ваших баз данных!

После этого я мог установить базу данных, выполнив команду:

sudo apt-get install mysql-server
Михал Пжибылович
источник
1

Попробуйте удалить все пакеты и файлы, затем переустановите «mysql-сервер»

sudo apt-get remove --purge mysql-\*
sudo rm -rf /var/lib/mysql

sudo apt-get install mysql-server 
Spl2nky
источник
1

Сначала вы должны удалить все пакеты mysql-сервера:

sudo rm -rf /var/lib/mysql

Затем установите:

sudo apt-get install lamp-server^

Или вы можете сделать:

sudo apt-get install mysql-server
Тарункант Гупта
источник
1
Пожалуйста, не пишите, rm -rf не сообщая, какую информацию эта команда уничтожит.
Брайан Нг