Простое обновление MySQL-сервера в Ubuntu и Debian
Привет всем! Сегодня я приготовил вот такое руководство для вас - как обновить MySQL-сервер в дистрибутивах Ubuntu и Debian!
Уверен, что кому она пригодится и поможет :)
Итак, поехали...
- Делаем бэкап файла-конфига MySQL.
В терминале:
sudo mkdir /backup
sudo tar cvfvz /backup/mysql_conf.tgz /etc/mysql
- Экспортируем все базы данных в .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
- Теперь останавливем MySQL-сервер:
sudo service mysql stop
- Удаляем пакеты MySQL из системы, только без опиции --purge,
так как она еще удалит все конфиги, а мы будем их использовать после
обновления сервера MySQL:
Вводим все команды в терминале:
sudo apt-get remove mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
Удаление заверешено! :)
- Устанавливаем зависимости для MySQL 5.5 и выше:
sudo apt-get install libaio1
- Качаем MySQL пакет с официального сайта и устанавливем его в системе:
для x86:
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15-debian6.0-i686...
для x86_64:
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15-debian6.0-x86_...
Устанавливаем:
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
- Редактируем /etc/mysql/my.cnf
Обновляем данные две строчки:
basedir = /opt/mysql/server-5.6
lc-messages-dir = /opt/mysql/server-5.6/share
- Копируем скрипт автозапуска 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.
- Запускаем сервер MySQL.
Команда в терминале:
sudo service mysql start
- Восстанавливаем ваши базы данных, которые мы забэкапили ранее:
sudo mysql -u root -p < /backup/backup_db.sql
И теперь обновим системную таблицу MySQL:
sudo /opt/mysql/server-5.6/bin/mysql_upgrade -v -u root -p
Вот и все! :) http://linuxcenter.kz/page/%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B5-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-mysql-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0-%D0%B2-ubuntu-%D0%B8-debian
|