Spec-Zone.ru › MariaDB

Миграция на MariaDB с MySQL 5.0 или более ранних версий

Если вы переходите на MariaDB 5.1 с MySQL 5.1, то вам не нужно ничего делать с вашими данными или клиентами MySQL. Всё должно работать без проблем.

При переходе между разными основными версиями MariaDB или MySQL, необходимо запустить программу mysql_upgrade для преобразования несовместимых между версиями данных. Это также обновит таблицы привилегий в базе данных mysql до последнего формата.

Практически во всех случаях mysql_upgrade должна уметь преобразовать ваши таблицы без необходимости делать дамп и восстановление данных.

После установки MariaDB, просто выполните:

mysql_upgrade --verbose

Если вы хотите работать с определённым портом TCP/IP, выполните:

mysql_upgrade --host=127.0.0.1 --port=3308 --protocol=tcp

Если вы хотите подключиться через сокет, выполните:

mysql_upgrade --socket=127.0.0.1 --protocol=socket

Для просмотра других опций, используйте --help.

"mysql_upgrade" считывает секции my.cnf [mysql_upgrade] и [client] для получения значений по умолчанию.

Существует множество причин, по которым необходимо преобразовывать таблицы; они могут быть следующими:

  • Изменился порядок сортировки (коллирование) для столбца индекса
  • Изменился формат хранения типа поля
    • DECIMAL и VARCHAR изменили формат между MySQL 4.1 и MySQL 5.0
  • Двигатель имеет новый формат хранения
    • ARCHIVE изменил формат хранения между 5.0 и 5.1
  • Изменился формат хранения имён таблиц
    • В MySQL 5.1 имена таблиц закодированы таким образом, что имена файлов идентичны на всех компьютерах. Старые имена таблиц, содержащие запрещённые символы имён файлов, будут отображаться с префиксом #mysql50# в SHOW TABLES до тех пор, пока вы не преобразуете их.

Если вы не преобразуете таблицы, может произойти одно из следующих:

  • В журнале ошибок будут отображаться предупреждения каждый раз, когда вы обращаетесь к таблице с неверным (старым) именем файла.
  • При поиске по значениям ключа вы можете не найти все строки.
  • При обращении к таблице будет возвращено сообщение об ошибке "ERROR 1459 (HY000): Требуется обновление таблицы".
  • Возможны сбои.

"mysql_upgrade" работает, вызывая mysqlcheck с различными параметрами и выполняя скрипт "mysql_fix_privileges". Если у вас возникнут проблемы с "mysql_upgrade", вы можете запустить эти команды отдельно, чтобы получить больше информации о том, что происходит.

Большинство вещей из раздела руководства MySQL 5.1 также применимы к MariaDB.

Существуют следующие различия между "mysql_upgrade" в MariaDB и MySQL (начиная с MariaDB 5.1.50):

  • MariaDB будет корректно преобразовывать длинные имена таблиц.
  • MariaDB будет преобразовывать таблицы InnoDB (InnoDB) (нет необходимости выполнять дамп/восстановление или ALTER TABLE).
  • MariaDB будет преобразовывать старые архивные таблицы в новый формат 5.1 (примечание: новая функция в стадии тестирования).
  • "mysql_upgrade --verbose" запустит "mysqlcheck --verbose", чтобы вы получили больше информации о том, что происходит.
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в данном содержании, не обязательно отражают взгляды MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/upgrading-to-mariadb-from-mysql/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API