Почему сделал установку MySQL 5.6 на сбое Ubuntu 14.04?

Я хотел получить взгляд на MySQL 5.6 на Ubuntu 14.04 только из любопытства. И на основе этой статьи, конечно, было похоже, что установка должна быть простой и простой. Таким образом, я разжег AWS EC2 микро сервер под управлением (64-разрядная) Ubuntu 14.04, вошел в мой нетронутый экземпляр (через PuTTY) и дал следующие команды:

$ sudo apt-get update
$ sudo apt-get build-dep mysql-server-5.6
$ sudo apt-get install mysql-server-5.6

(Первые две команды были перемещениями отчаяния, начиная с простого выполнения apt-get install один ранее не работал. Но даже со всеми тремя командами, шаг установки все еще не работал.)

В точке, где я ожидал, на основе статьи, на которую ссылаются выше, для наблюдения этого вывода от заключительной команды:

mysql start/running, process 2355  
Setting up libhtml-template-perl (2.95-1) ...  
Setting up mysql-common-5.6 (5.6.16-1~exp1) ...  
Processing triggers for libc-bin (2.19-0ubuntu6) ...  
Processing triggers for ureadahead (0.100.0-16) ...  

Я получил это вместо этого:

start: Job failed to start  
invoke-rc.d: initscript mysql, action "start" failed.  
dpkg: error processing package mysql-server-5.6 (--configure):  
 subprocess installed post-installation script returned error exit status 1  
Setting up libhtml-template-perl (2.95-1) ...  
Setting up mysql-common-5.6 (5.6.16-1~exp1) ...  
Processing triggers for libc-bin (2.19-0ubuntu6) ...  
Processing triggers for ureadahead (0.100.0-16) ...  
Errors were encountered while processing:  
 mysql-server-5.6  
E: Sub-process /usr/bin/dpkg returned an error code (1)

Кто-либо может видеть то, что пошло не так, как надо?

30
задан 30 April 2014 в 01:46

7 ответов

Проблема, с которой вы столкнулись, выглядит так же, как в этом отчете об ошибке . Сбой при запуске, по-видимому, связан с тем, что конфигурация MySQL 5.6 по умолчанию требует больше памяти, чем она может получить в вашем микро-экземпляре.

Решение ошибки, по-видимому, заключается в выполнении одного из следующих действий:

  • Увеличьте количество память в вашем экземпляре EC2
  • Установите меньшее значение для переменной MySQL max_connections
22
ответ дан 16 November 2019 в 11:23

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

В Ubuntu 14.04 я делаю следующее для решения проблемы:

Создаю файл подкачки 4G:

sudo fallocate -l 4G /swapfile

Измените его разрешение, чтобы только root мог получить доступ и изменить:

sudo chmod 600 /swapfile

Сделать свопинг:

sudo mkswap /swapfile

Активировать :

sudo swapon /swapfile

Теперь вы можете попробовать установить mysql еще раз, на этот раз все должно быть успешно. Просто не забудьте перед этим удалить предыдущую неудачную установку.

24
ответ дан 16 November 2019 в 11:23

В моем случае я добавил

innodb_buffer_pool_size = 20M

в /etc/mysql/my.cnf

2
ответ дан 16 November 2019 в 11:23

Я столкнулся с той же проблемой. Хотя у меня было достаточно большой памяти 12 ГБ, предоставленной моей виртуальной машине, но все равно что-то не так. Потратив некоторое время, обнаружил, что в apt get по умолчанию отсутствуют некоторые пакеты перевода конфигурации и трансляции инструментов.

Репозиторий MySQL apt предоставляет простой и удобный способ установки и обновления продуктов MySQL с использованием последних пакетов программного обеспечения с использованием apt -get . Вот что вам нужно сделать:

  1. Добавление репозитория MySQL APT Сначала добавьте репозиторий MySQL apt в список репозиториев программного обеспечения вашей системы. Выполните следующие действия:

    • Перейдите на страницу загрузки репозитория MySQL apt по адресу http://dev.mysql.com/downloads/repo/apt/ .

    • Выберите и загрузите пакет выпуска .

    • Установите загруженный пакет выпуска с помощью следующей команды, заменив имя-версии-пакета именем загруженного пакета (которому предшествует путь к нему, если вы не запускаете команду внутри папки, в которой находится пакет) :

       sudo dpkg -i /PATH/version-specific-package-name.deb
       

    Обратите внимание, что один и тот же пакет работает на всех поддерживаемых платформах Debian и Ubuntu.

    • Во время установки пакета вам будет предложено выбрать версии сервера MySQL и других компонентов (например, MySQL Workbench) который вы хотите установить. Если вы не уверены, какую версию выбрать, не меняйте выбранные по умолчанию параметры. Вы также можете выбрать «Нет», если не хотите устанавливать определенный компонент. После выбора всех компонентов нажмите OK, чтобы завершить настройку и установку пакета выпуска.

    вы всегда можете изменить свой выбор для более поздних версий;
    инструкции см. в разделе Выбор основной версии выпуска.

    • Обновите информацию о пакете из репозитория MySQL APT с помощью следующей команды (этот шаг является обязательным):

       sudo apt-get update
       
  2. Установка MySQL с APT

    • Установите MySQL с помощью следующей команды:

       sudo apt-get install mysql-server
       

Это устанавливает пакет для сервера MySQL, а также пакеты для клиента и общие файлы базы данных.

Во время установки диалоговые окна выдают два запроса: Введите пароль для пользователя root. для вашей установки MySQL.

  1. Запуск и остановка сервера MySQL

Сервер MySQL запускается автоматически после установки. - Вы можете проверить состояние сервера MySQL с помощью следующей команды:

sudo service mysql status
  • Остановите сервер MySQL с помощью следующей команды:

     sudo service mysql stop
     
  • Чтобы перезапустить сервер MySQL, используйте следующую команду:

     sudo service mysql start
     

Я следил за этим http://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install . Это работало гладко, были загружены все пакеты и успешно установлены mysql 5.6 .

3
ответ дан 16 November 2019 в 11:23

Отключение performance_schema также экономит много памяти. Моя пустая база данных увеличивается с 400 до 40 метров при запуске:

performance_schema=0

MySQL Docs: http://dev.mysql.com/doc/refman/5.6/en/performance-schema.html

1
ответ дан 16 November 2019 в 11:23

Я столкнулся с этой проблемой в Ubuntu 15.10. Для меня это не было проблемой памяти (у меня 2 ГБ оперативной памяти и 18 ГБ подкачки, из которых всего было использовано около 300 МБ).

В моем случае dpkg искал /etc/mysql/conf.d , которого не существовало (однако /etc/mysql/mysql.conf. d сделал!) Повторная установка mysql и создание вручную папки /etc/mysql/conf.d решили мою проблему.

Как именно это произошло? Понятия не имею. Я почти не хотел делиться своим ответом, так как держу пари, что это решение предназначено для моего компьютера.

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

Я использовал его так:

  • После нажатия ctrl c на полпути apt-get install mysql-server мне пришлось запустить dpkg - -configure -a , чтобы завершить установку.

  • Я выполнил strace 2> / tmp / trace dpkg --configure -a . Это сделало меня хорошим strace журналом по адресу / tmp / trace .

  • Я просмотрел журнал, особенно внизу, где он потерпел неудачу.

  • Я заметил, что он пытался для доступа к /etc/mysql/conf.d и получил код ошибки ENOENT, нет такого файла или каталога .

Для тех, кто хочет попробовать, выполните strace 2> / tmp / trace (команда) и grep для ENOENT . Как я уже сказал, это решение, вероятно, специфично для моего компьютера, но вы можете попробовать его.

1
ответ дан 16 November 2019 в 11:23

В моем случае все, что мне нужно было сделать был внесен некоторые изменения в my.cnf и просто удалил 2 файла журнала с именами ib_logfile0 и ib_logfile1 и запустил mysql

service mysql start

Не нужно переустанавливать mysql, просто удалите эти 2 файла журнала и перезапустите сервер mysql

Ниже приведены изменения, которые я внес в my.cnf :

max_connections     = 1000     
max_allowed_packet  = 1024M
wait_timeout        = 7200 
0
ответ дан 16 November 2019 в 11:23

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

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