Як я можу безпечно встановити
Це завжди буде складно.
Будь ласка, прочитайте сторінку сумісності 5.5 / 5.6, перш ніж робити що-небудь. Розум 1 велика різниця між 2:
Починаючи з MySQL 5.6.6, декілька параметрів MySQL Server мають за замовчуванням, які відрізняються від попередніх версій. Мотивація цих змін полягає в тому, щоб забезпечити кращу продуктивність поза межами коробки та зменшити потребу адміністратора бази даних змінювати налаштування вручну. Ці зміни підлягають можливій редакції у майбутніх випусках, оскільки ми отримуємо зворотній зв'язок.
1 з великих змін полягає в тому, що 5.5 використовує 1 великий файл як журнал транзакцій, а 5.6 використовує декілька:
Тому, якщо ви оновлюєте існуючу установку MySQL, ви ще не змінили значення цих параметрів за попередніми налаштуваннями за замовчуванням, і зворотна сумісність викликає занепокоєння, можливо, ви захочете чітко встановити ці параметри до їх попередніх значень за замовчуванням. Наприклад, помістіть ці рядки у файл параметрів сервера:
[mysqld]
innodb_file_per_table=0
innodb_checksum_algorithm=INNODB
binlog_checksum=NONE
Якщо ви використовуєте реплікацію, зверніть увагу на цю частину посилання:
Для оновлення серверів, що використовуються для реплікації, оновіть спочатку підлеглі, потім головний. Реплікація між ведучим та його веденими повинна працювати, за умови, що всі використовують одне і те ж значення express_defaults_for_timestamp:
Зніміть раби, оновіть їх, налаштуйте їх на потрібне значення явного_надійного_за_мітки та відновіть їх.
Раби розпізнаватимуть з формату бінарних журналів, отриманих від ведучого, що майстер старше (до введення явного_надійного_фотографа) і що операції над стовпцями TIMESTAMP, що надходять від ведучого, використовують стару поведінку TIMESTAMP.
Зніміть головний майстер, оновіть його та налаштуйте його з тим самим явним_defaults_for_timestamp значенням, яке використовується для рабів, і поверніть його назад.
Якщо це виробничий сервер, я б радив спершу спробувати це на тестовій машині. Ми пройшли досить складний перехід від 5,5 до 5,6 і вирішили встановити іншу машину, встановлену з 5.6, і використовувати mysldump для створення резервних копій та завантаження їх у наші бази даних на цій машині. Майте на увазі, що це займе багато часу, якщо у вас є велика база даних (через відтворення файлів транзакцій innodb).
Загальний метод:
- використовувати mysqldump для створення резервних копій вашої бази даних (користувачів, структури траблів та даних таблиці) та вашого конфігураційного файлу (можливо, /etc/mysql/my.cnf)
- Видаліть 5.5. Після видалення 5.5 перевірте, чи немає файлів транзакцій innodb (ibdata1, ib_logfile0 та ib_logfile1). Оскільки 5.6 використовує кращу версію транзакцій, я припускаю, що ви також використали б цю ...
- Встановити 5.6
- Змініть новий конфігураційний файл і додайте те, що ви змінили на 5.5 (пам’ятайте, що посилання вище та перевірте, чи якісь із змін стали недійсними).
- Завантажте резервну копію в 5.6 (спочатку користувачі). Зверніть увагу, що це може зайняти трохи часу, оскільки воно відтворить нові файли транзакцій.
У командах (після створення резервної копії):
sudo apt-get remove mysql-server
sudo apt-get autoremove
sudo apt-get install mysql-client-5.6 mysql-client-core-5.6
sudo apt-get install mysql-server-5.6
sudo apt-get remove mysql-server;sudo apt-get autoremove;sudo apt-get install mysql-client-5.6 mysql-client-core-5.6;sudo apt-get install mysql-server-5.6