Помилка встановлення 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.
guntbert

Привіт Гунтберт - при невеликому пошуку здається, що його debian.cnfфайл. Я знайшов це stackoverflow.com/questions/11644300/… - і, дивлячись на відповідь, що отримав 47 балів (не прийнята відповідь), є невідповідність пароля. Я даю йому постріл - безуспішно, тому що я не знаю, що таке пароль!
Даррен Хейнес

Ця відповідь вирішує проблему для мене без очищення mysql: /ubuntu//a/793545/597698
Елкана Бардуго

Відповіді:


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

Вирішіть 2а: Вам потрібно оновити системні таблиці Mysql з 5,5 до 5,7

Відредагуйте my.cnf, щоб у розділі "[mysqld]" включити рядок "skip-grant-table" service mysql start, та таmysql_upgrade --force -u root -p

Вирішіть 2b: Вам не вистачає пам’яті для пулу Mysql Innodb (ви на сервері мікророзміру?)

Відредагуйте my.cnf, щоб включити під "[mysqld]" рядок innodb_buffer_pool_size = 20М

за замовчуванням пул innodb становить 128 М, що є щільним у V2 512 М

Щоб усунути помилку APT, виконайте встановлення повідомлення ще раз

dpkg --configure -a

Чи видалятиме він бази даних чи це залишатиметься безпечним?
Триумф

5

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

Дотримуючись там інструкцій щодо видалення та повторної інсталяції, це вирішило проблему.



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 

1

Спочатку ви видалите всі пакети mysql-сервера:

sudo rm -rf /var/lib/mysql

Потім встановіть:

sudo apt-get install lamp-server^

Або ви можете зробити:

sudo apt-get install mysql-server

1
Будь ласка, не публікуйте, rm -rf не кажучи, яку інформацію знищить ця команда.
Брайан Нг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.