- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Установка MariaDB в Windows. Переход с MySQL на MariaDB в Windows
- Оглавление
- Что такое MariaDB
- Чем MariaDB лучше MySQL
- Скачать MariaDB для Windows
- Установка MariaDB в Windows
- Переход с MySQL на MariaDB в Windows
- Переход с MySQL на MariaDB с сохранением баз данных
- Переход с MySQL на MariaDB без сохранения баз данных
- Установка MariaDB и клиента HeidiSQL в среде Windows
- MariaDB on Windows
- One reply on “MariaDB on Windows”
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Установка MariaDB в Windows. Переход с MySQL на MariaDB в Windows
Оглавление
Что такое MariaDB
MariaDB – это система управления базами данных (СУБД), которая основывается на MySQL и во многом с ней совместима.
MariaDB и MySQL полностью совместимы в синтаксисе SQL запросов. То есть, если ваша программа использует базы данных MySQL (например, веб-сайт на PHP), то при переходе на MariaDB не нужно ничего менять в программе.
MariaDB также бинарно совместима с коннекторами MySQL. Т.е. если вы используете коннекторы MySQL, то при переходе на MariaDB не нужно их менять.
MariaDB совместима с форматами баз данных MySQL, но есть некоторые нюансы. Если вы переносите базы данных через экспорт/импорт (например, с помощью .SQL файла), то переносимые таким образом базы данных будут полностью совместимы между любыми версиями и не требуют каких-либо дальнейших действий. Тем не менее, если вы установили MariaDB поверх MySQL, то есть MariaDB использует файлы баз данных от MySQL, то нужно учитывать совместимость:
- MariaDB 10.2 совместима с предыдущими версиями файлов данных MariaDB, а также с MySQL 5.6 и MySQL 5.7, но не совместима с MySQL 8.0.
- MariaDB 10.1 совместима с предыдущими версиями файлов данных MariaDB, а также с MySQL 5.6.
MariaDB работает на Windows и Linux. Эта программа с полностью открытым исходным кодом. Она распространяется как в форме исходных кодов, так и скомпилированных исполнимых файлов для Windows и всех популярных дистрибутивов Linux.
Чем MariaDB лучше MySQL
MariaDB поддерживает больше систем хранения (Storage Engines).
В дополнении к стандартным MyISAM, BLACKHOLE, CSV, MEMORY, ARCHIVE, и MERGE движкам хранения, в MariaDB также имеются следующие:
- ColumnStore, система хранения, ориентированная на столбцы, оптимизирована для хранилища данных.
- MyRocks, система хранения с большим сжатием, добавлена с 10.2 версии
- Aria, замена для MyISAM с улучшенным кэшированием.
- FederatedX (замена для Federated)
- OQGRAPH.
- SphinxSE.
- TokuDB.
- CONNECT.
- SEQUENCE.
- Spider.
- Cassandra.
MariaDB имеет множество различных улучшений и оптимизаций в скорости обработки данных.
MariaDB дополнена новыми расширениями и функциями.
Скачать MariaDB для Windows
MariaDB является бесплатной, настоятельно рекомендуется её скачивать с официального сайта. Страница для скачивания MariaDB: https://downloads.mariadb.org/
Вы увидите несколько серий – несколько мажорных версий программы. Если вам не нужна какая-то специфическая совместимость с MySQL, то просто выберите самую последнюю версию и нажмите кнопку с «Download»
Поскольку эта программа работает на разных операционных системах, то в следующем окне вы увидите большой выбор файлов для скачивания.
Файлы Windows x86_64 – это 64-битные версии, а Windows x86 – 32-битные.
.zip – это портативные версии, которые нужно устанавливать самостоятельно, но которые дают полную свободу в тонкой подстройке. А .msi – это установщик для Windows.
В этой инструкции я покажу на примере работы с версией .zip.
На следующей странице достаточно нажать кнопку: «No thanks, just take me to the download»:
Установка MariaDB в Windows
Для Windows СУБД MariaDB распространяется в виде установщика и ZIP архива. Я предпочитаю установку из ZIP архива, поскольку это позволяет полностью контролировать процесс.
Установку во всех примерах я выполняю в папку C:\Server\bin\, поскольку у меня MariaDB является частью веб-сервера, установленного по этой инструкции. Если у вас по-другому, то учитывайте это и делайте соответствующие поправки.
Распакуйте скаченный архив с MariaDB, переименуйте папку в mariadb и переместите в C:\Server\bin\.
Переместите папку C:\Server\bin\mariadb\data\ в папку C:\Server\data\DB\.
В папке C:\Server\bin\mariadb\ создайте файл my.cnf и скопируйте в него:
Для установки и запуска службы выполните команды:
Переход с MySQL на MariaDB в Windows
Переход с MySQL на MariaDB с сохранением баз данных
Можно выполнить переход разными способами. Я покажу самый универсальный метод, гарантирующий полную совместимость и отсутствие дальнейших проблем.
Необходимо начать с создания резервной копии баз данных. Мы выполним это в командной строке с помощью утилиты mysqldump (поставляется с MySQL и размещена в папке bin).
Откройте командную строку Windows. Для этого нажмите Win+x и выберите Windows PowerShell (администратор). В открывшем окне выполните
Перейдём в папку, где находится эта утилита (у вас может быть другой путь):
Сделайте дамп (резервную копию) всех баз данных следующей командой:
Теперь в папке C:\Server\bin\mysql-8.0\bin\ появится файл all-databases.sql – обязательно скопируйте его в безопасное место!
Теперь остановите службу MySQL и удалите её из автозагрузки:
Дополнительно скопируйте в безопасное место папку C:\Server\data\DB\data\ — это дополнительная резервная копия файлов баз данных MySQL – на тот случай, если с MariaDB что-то пойдёт не так и вы захотите вернуться к MySQL.
Теперь удалите папки C:\Server\bin\mysql-8.0\ (бинарные файлы) и C:\Server\data\DB\data\ (базы данных).
Распакуйте скаченный архив с MariaDB, переименуйте папку в mariadb и переместите в C:\Server\bin\.
Переместите папку C:\Server\bin\mariadb\data\ в папку C:\Server\data\DB\.
В папке C:\Server\bin\mariadb\ создайте файл my.cnf и скопируйте в него:
Для установки и запуска службы выполните команды:
Для развёртывания баз данных из резервной копии, перейдите в папку C:\Server\bin\mariadb\bin\:
И запустите команду вида:
Например, у меня файл all-databases.sql с резервной копией баз данных размещён в папке h:\Dropbox\!Backup\, тогда моя команда такая:
Дождитесь завершения импорта – если файл большой, то процесс может затянуться.
Переход с MySQL на MariaDB без сохранения баз данных
Остановите службу MySQL и удалите её из автозагрузки:
Удалите папки C:\Server\bin\mysql-8.0\ (бинарные файлы) и C:\Server\data\DB\data\ (базы данных).
Распакуйте скаченный архив с MariaDB, переименуйте папку в mariadb и переместите в C:\Server\bin\.
Переместите папку C:\Server\bin\mariadb\data\ в папку C:\Server\data\DB\.
В папке C:\Server\bin\mariadb\ создайте файл my.cnf и скопируйте в него:
Для установки и запуска службы выполните команды:
Установка MariaDB и клиента HeidiSQL в среде Windows
Ранее была написана статья Установка MySQL в Windows, которая и сейчас является актуальной (только версии необходимо устанавливать новые), но рынок программного обеспечения диктует нам свои правила, за которыми необходимо следить и идти нога в ногу. Как уже известно, вместо традиционного MySQL в Debian 9 по умолчанию используется MariaDB и при обновлении с предыдущих версии MySQL будет автоматически заменен на MariaDB. Поскольку, большинство веб-серверов работают именно на операционной системе Debian, а отладка программ веб-разработчиками в среде Windows, необходимо использовать одинаковое программное обеспечение.
Для начала необходимо скачать последнюю версию дистрибутива MariaDB (https://mariadb.com/downloads/mariadb-tx). На момент написания статьи название файла инсталляции была «mariadb-10.2.9-winx64.ext«
Запускаем данный файл и следуем инструкциям.
В первом окне выводится информация про установку MariaDB на ваш компьютер. Нажмите Next для продолжения или Cancel, чтобы выйти из мастера установки:
Далее необходимо внимательно прочитать лицензионное соглашение и подтвердить согласие. Естественно, никто его не читает, просто ставим галочку и жмем Next.
Следующим окном будет выбор программного обеспечения, которое будет установлено.
MariaDB Server:
— Database instance — установить экземпляр базы данных. С этой функцией можно установить только новую базу данных.
— Client Programs — клиентские программы, которые включают различные полезные инструменты для работы с базами данных.
— Backup utilities — утилиты резервного копирования (устанавливает резервные утилиты Mariabackup и Mbsteam)
Development Components — компоненты разработки (устанавливает файлы C/C++ и необходимые библиотеки):
— Client C API library (shared) — клиентская библиотека API C.
Third party tools — сторонние инструменты:
— HeidiSQL — мощный, простой и бесплатный клиент MySQL/MariaDB GUI от Ansgar Becker.
Установка базы даны происходит взаимосвязано с установкой Web-сервера Apache 2.4 VC15 и интерпретатора PHP 7, поэтому выбираем путь «C:\web_server\MariaDB\» и нажимаем Next.
В следующем окне необходимо дважды ввести пароль к учетной записи Root и подтверждаем пункт использования UTF8 в качестве набора символов сервера по умолчанию:
Далее вводим параметры по умолчанию, а именно устанавливаем как сервис MySQL, TCP порт 3306, размер буферных пулов 1023MB и размер страницы — 16KB:
В следующем окне нам предлагают включить плагин Feedback и отправить анонимную информацию об использовании. MariaDB распространяется под GPL license, то есть совсем бесплатно, поэтому поможем разработчикам программы поставив галочку на данном пункте. Более подробно http://mariadb.org/feedback_plugin/.
После проделанных операций все готово для установки MariaDB. Нажмите Install, чтобы начать установку. Нажмите Back, чтобы просмотреть или изменить любые параметры установки. Нажмите Cancel, чтобы закрыть мастер.
Ждем, пока программа установится:
Подтверждаем завершение установки нажатием на кнопку Finish:
Поздравляем, вы успешно установили систему управления базы данных MariaDB на ваш компьютер.
После установки на рабочем столе появится ярлык HeidiSQL:
Программа HeidiSQL являет собой очень мощную программу для работы с базами данных MySQL, Microsoft SQL и PostgreSQL. Имеет очень понятный и простой интерфейс, обладает высокой скоростью выполнения операций и множеством встроенных функций, таких как создание базы данных, ее наполнение, редактирование и сохранение.
При запуске программы нам необходимо подключится к базе данных. Для этого вводим новое название подключение и пароль:
Далее можно выполнять любые операции, которые допустимы с базами данных:
На этом установка закончена.
MariaDB on Windows
For some time, we haven’t had any binary distribution on Windows. This was bad because a significant number of our downloads of earlier releases was from Windows people.
So, I’m working to change this. The first step is to revive the noinstall zip files. This isn’t too difficult, just run the scripts. In theory, at least.
Actually the build scripts didn’t work for me, but the problems with them were really minor. So I did some of the steps manually and modified the scripts a bit. Looks like it worked.
I’m now uploading the windows zip file to the mirrors. You should be able to download it from http://askmonty.org/wiki/MariaDB:Download.
For now, we only have a 32 bit version of this. At some point I will also produce 64 bit binaries, but that will have to wait a bit. I’m also working on a normal installer with the usual wizard based install that Windows users are accustomed to.
This is the first distributable zip file we have done in a while, so there might be some problems with it. It should work, but if there are problems with it, I hope you will help me make the distribution even better by reporting a bug on https://bugs.launchpad.net/maria/+filebug, sending a mail to maria-developers@lists.launchpad.net or go on IRC and talk to me on #maria.
One reply on “MariaDB on Windows”
Awesome, so far I have only been able to support MariaDB in emails to EU and telling people about it, but now I see I’ll soon be able to actually start implementing because of the new attention to windows.
If I’m not mistaken the largest percent of people downloading(using?) MySQL were “windows people” so its great news to have someone working on an installer for windows. Hopefully going forward there will be a continued effort into providing the best upgrade/install wizzard so its a no brainer to use your software.