Linux Mint    Ubuntu    openSUSE    Asterisk    FreeBSD    Android    Nokia N900    Игры в Linux
 Linux Mint    Ubuntu     openSUSE     Asterisk     FreeBSD     Android     N900     Games

Простое обновление MySQL-сервера в Ubuntu и Debian

Привет всем! Сегодня я приготовил вот такое руководство для вас - как обновить MySQL-сервер в дистрибутивах Ubuntu и Debian!

Уверен, что кому она пригодится и поможет :)

Итак, поехали...

  1. Делаем бэкап файла-конфига MySQL.

В терминале:

sudo mkdir /backup

sudo tar cvfvz /backup/mysql_conf.tgz /etc/mysql

  1. Экспортируем все базы данных в .sql-файл и бэкапим директорию данных MySQL.

Вводим в терминале:

sudo sh -c 'mysqldump -u root -p -A --events > /backup/backup_db.sql

sudo tar cvfvz /backup/mysql_data.tgz /var/lib/mysql

  1. Теперь останавливем MySQL-сервер:

sudo service mysql stop

  1. Удаляем пакеты MySQL из системы, только без опиции --purge, так как она еще удалит все конфиги, а мы будем их использовать после обновления сервера MySQL:

Вводим все команды в терминале:

sudo apt-get remove mysql-server mysql-client mysql-common

sudo apt-get autoremove

sudo apt-get autoclean

Удаление заверешено! :)

  1. Устанавливаем зависимости для MySQL 5.5 и выше:

sudo apt-get install libaio1

  1. Качаем MySQL пакет с официального сайта и устанавливем его в системе:

для x86:

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15-debian6.0-i686.deb

для x86_64:

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15-debian6.0-x86_64.deb

Устанавливаем:

sudo dpkg -i mysql-5.6.15-debian6.0-*.deb

MySQL будет установлен в директорию /opt/mysql.

Далее, для Ubuntu:

sudo sh -c 'echo "PATH=${PATH}:/opt/mysql/server-5.6/bin" >> /etc/environment' source /etc/environment

для Debian:

sudo sh -c 'echo "PATH=$PATH:/opt/mysql/server-5.6/bin" >> /etc/profile' $ source /etc/profile

  1. Редактируем /etc/mysql/my.cnf

Обновляем данные две строчки:

basedir = /opt/mysql/server-5.6

lc-messages-dir = /opt/mysql/server-5.6/share

  1. Копируем скрипт автозапуска MySQL в /etc/init.d и делаем так, чтобы сервер сам запускался во время загрузки

Вводим команды в терминале:

sudo cp /opt/mysql/server-5.6/support-files/mysql.server /etc/init.d/mysql

sudo update-rc.d mysql defaults

ТОЛЬКО для Ubuntu:

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

Для начала, создадим симлинк:

sudo ln -s /opt/mysql/server-5.6/bin/mysqld /usr/sbin/mysqld

Отредактируем MySQL AppArmor профиль:

sudo vi /etc/apparmor.d/usr.sbin.mysqld

вид должен быть таким:

Перезапустим сервис AppArmor:

sudo service apparmor restart

Теперь удалим конфиг для автостарта MySQL, так как он является частью старого MySQL сервера и мы будем использовать SysVinit (/etc/init.d/mysql):

sudo rm /etc/init/mysql.conf

На этом действия для Ubuntu закончены и далее делаем для обоих дистрибутивов, Ubuntu и Debian.

  1. Запускаем сервер MySQL.

Команда в терминале:

sudo service mysql start

  1. Восстанавливаем ваши базы данных, которые мы забэкапили ранее:

sudo mysql -u root -p < /backup/backup_db.sql

И теперь обновим системную таблицу MySQL:

sudo /opt/mysql/server-5.6/bin/mysql_upgrade -v -u root -p

Вот и все! :)

undertaker аватар

Спасибо за модерацию и публикацию! Думаю она пригодится :)

Linux_man аватар

спасибо за статью! :)

DIV аватар

просто :)

jekson аватар

да, если версии те же