как установить mariadb на windows
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Установка MariaDB в Windows. Переход с MySQL на MariaDB в Windows
Оглавление
Что такое MariaDB
MariaDB – это система управления базами данных (СУБД), которая основывается на MySQL и во многом с ней совместима.
MariaDB и MySQL полностью совместимы в синтаксисе SQL запросов. То есть, если ваша программа использует базы данных MySQL (например, веб-сайт на PHP), то при переходе на MariaDB не нужно ничего менять в программе.
MariaDB также бинарно совместима с коннекторами MySQL. Т.е. если вы используете коннекторы MySQL, то при переходе на MariaDB не нужно их менять.
MariaDB работает на Windows и Linux. Эта программа с полностью открытым исходным кодом. Она распространяется как в форме исходных кодов, так и скомпилированных исполнимых файлов для Windows и всех популярных дистрибутивов Linux.
Чем MariaDB лучше MySQL
MariaDB поддерживает больше систем хранения (Storage Engines).
В дополнении к стандартным MyISAM, BLACKHOLE, CSV, MEMORY, ARCHIVE, и MERGE движкам хранения, в MariaDB также имеются следующие:
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\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 и скопируйте в него:
Для установки и запуска службы выполните команды:
Installing MariaDB MSI Packages on Windows
MSI packages are available for both x86 (32 bit) and x64 (64 bit) processor architectures. We’ll use screenshots from an x64 installation below (the 32 bit installer is very similar).
Contents
Installation UI
Welcome
License Agreement
Click on «I accept the terms»
Custom Setup
Here, you can choose what features to install. By default, all features are installed with the exception of the debug symbols. If the «Database instance» feature is selected, the installer will create a database instance, by default running as a service. In this case the installer will present additional dialogs to control various database properties. Note that you do not necessarily have to create an instance at this stage. For example, if you already have MySQL or MariaDB databases running as services, you can just upgrade them during the installation. Also, you can create additional database instances after the installation, with the mysql_install_db.exe utility.
NOTE: By default, if you install a database instance, the data directory will be in the «data» folder under the installation root. To change the data directory location, select «Database instance» in the feature tree, and use the «Browse» button to point to another place.
Database Authentication/Security Related Properties
This dialog is shown if you selected the «Database instance» feature. Here, you can set the password for the «root» database user and specify whether root can access database from remote machines. The «Create anonymous account» setting allows for anonymous (non-authenticated) users. It is off by default and it is not recommended to change this setting.
Other Database Properties
Ready to Install
At this point, all installation settings are collected. Click on the «Install» button.
User Account Control (UAC) popup
If user account control is enabled (Vista or later), you will see this dialog. Click on «Yes».
Installation is finished now. If you have upgradable instances of MariaDB/MySQL, running as services, this dialog will present a «Do you want to upgrade existing instances» checkbox (if selected, it launches the Upgrade Wizard post-installation).
If you installed a database instance as service, the service will be running already.
New Entries in Start Menu
Installation will add some entries in the Start Menu:
Uninstall UI
In the Explorer applet «Programs and Features» (or «Add/Remove programs» on older Windows), find the entry for MariaDB, choose Uninstall/Change and click on the «Remove» button in the dialog below.
If you installed a database instance, you will need to decide if you want to remove or keep the data in the database directory.
Silent Installation
The MSI installer supports silent installations as well. In its simplest form silent installation with all defaults can be performed from an elevated command prompt like this:
Note: the installation is silent due to msiexe.exe’s /qn switch (no user interface), if you omit the switch, the installation will have the full UI.
Properties
Silent installations also support installation properties (a property would correspond for example to checked/unchecked state of a checkbox in the UI, user password, etc). With properties the command line to install the MSI package would look like this:
The MSI installer package requires property names to be all capitals and contain only English letters. By convention, for a boolean property, an empty value means «false» and a non-empty is «true».
MariaDB installation supports the following properties:
Property name | Default value | Description |
---|---|---|
INSTALLDIR | %ProgramFiles%\MariaDB \ | Installation root |
PORT | 3306 | —port parameter for the server |
ALLOWREMOTEROOTACCESS | Allow remote access for root user | |
BUFFERPOOLSIZE | RAM/8 | Bufferpoolsize for innodb |
CLEANUPDATA | 1 | Remove the data directory (uninstall only) |
DATADIR | INSTALLDIR\data | Location of the data directory |
DEFAULTUSER | Allow anonymous users | |
PASSWORD | Password of the root user | |
SERVICENAME | Name of the Windows service. A service is not created if this value is empty. | |
SKIPNETWORKING | Skip networking | |
STDCONFIG | 1 | Corresponds to «optimize for transactions» in the GUI, default engine innodb, strict sql mode |
UTF8 | if set, adds character-set-server=utf8 to my.ini file (added in MariaDB 5.5.29) | |
PAGESIZE | 16K | page size for innodb |
Features
Feature is a Windows installer term for a unit of installation. Features can be selected and deselected in the UI in the feature tree in the «Custom Setup» dialog.
Silent installation supports adding features with the special property ADDLOCAL=Feature_1. Feature_N and removing features with REMOVE=Feature_1. Feature_N
Features in the MariaDB installer:
Feature id | Installed by default? | Description |
---|---|---|
DBInstance | yes | Install database instance |
Client | yes | Command line client programs |
MYSQLSERVER | yes | Install server |
SharedLibraries | yes | Install client shared library |
DEVEL | yes | install C/C++ header files and client libraries |
HeidiSQL | yes | Installs HeidiSQL |
DEBUGSYMBOLS | no | install debug symbols |
Silent Installation Examples
All examples here require running as administrator (and elevated command line in Vista and later)
Silent Uninstall
To uninstall silently, use the REMOVE=ALL property with msiexec:
To keep the data directory during an uninstall, you will need to pass an additional parameter:
Installation Logs
If you encounter a bug in the installer, the installer logs should be used for diagnosis. Please attach verbose logs to the bug reports you create. To create a verbose installer log, start the installer from the command line with the /l*v switch, like so:
Running 32 and 64 Bit Distributions on the Same Machine
It is possible to install 32 and 64 bit packages on the same Windows x64.
Apart from testing, an example where this feature can be useful is a development scenario, where users want to run a 64 bit server and develop both 32 and 64 bit client components. In this case the full 64 bit package can be installed, including a database instance plus development-related features (headers and libraries) from the 32 bit package.
MariaDB для Windows
Что лучше MariaDB или MySQL?
MariaDB — это форк, то есть ответвление кода системы управления базами данных MySQL. Разработчики MariaDB утверждают, что их программа является полным аналогом MySQL, но в ней исправлены ошибки, добавлены новые функции, а сама программа сделана более открытой.
Напомню, что у MySQL есть бесплатная Community версия, а также есть версия с платным кодом. Что касается MariaDB, то авторы реализовали все возможности MySQL в виде открытого и бесплатного кода при этом сохранив совместимость с базами данных, созданными в MySQL.
В настоящее время MariaDB очень стремительно набирает популярность — в некоторых дистрибутивах Linux она заменяет MySQL, либо предлагается как альтернатива. Также я обратил внимание, что хостинг провайдеры стали переходить на MariaDB.
В общем, MariaDB широко используется и её можно считать проверенной и надёжной СУБД, поскольку в настоящее время она действительно широко распространена.
Что выбрать, MariaDB или MySQL, переходить ли с MySQL на MariaDB? На самом деле, для домашнего компьютера особой разницы нет. Вы можете выбрать любую из этих СУБД. Я упомянул, что в MariaDB реализованы платные функции MySQL, кроме того, в ней добавлены новые движки хранения данных — ещё больше подробностей и отличий в этой статье. Но для подавляющего большинства пользователей эти функции являются экзотическими, либо просто не применимыми, поскольку рассчитаны для оптимизации супер тяжёлой нагрузки. Поэтому, выбор между MariaDB или MySQL на локальном веб-сервере это исключительно дело вкуса.
Скачать MariaDB для Windows
MariaDB работает на разных операционных системах, в том числе на Windows. Для Windows имеются официальные бинарные файлы. Чтобы скачать последнюю версию, перейдите по ссылке https://downloads.mariadb.org/mariadb/:
На этой странице вы увидите много разных серий, но если на это нет специфичных причин, просто скачайте версию из последней серии — для этого нажмите зелёную кнопку.
Версии MariaDB под Windows содержат в названии win, всего для скачивания доступно четыре файла. Они различаются битностью:
И способом развёртывания:
Битность выберите в соответствии с вашей операционной системой. Что касается скачивать архив или установщик, то я бы рекомендовал первый вариант, поскольку я размещаю исполнимые файлы и файлы данных в разных папках — это удобно при создании резервных копий. Также можно, например, вынести базы данных на отдельный диск.
Вы можете ввести данные о себе, либо просто нажать кнопку «No thanks, just take me to the download» для начала загрузки:
Как установить MariaDB в Windows
Я покажу на конкретном примере — у вас, может быть, будет другое расположение СУБД и баз данных, поэтому вам нужно будет подредактировать команды — заменив пути на свои.
Итак, я хочу, чтобы исполнимые файлы были размещены в папке C:\Server\bin\mariadb, для этого я распаковываю скаченный архив и папку C:\Server\bin\mariadb-10.3.9-winx64\ я переименовываю в C:\Server\bin\mariadb.
Теперь по умолчанию мои базы данных размещались бы в папке C:\Server\bin\mariadb\data\, но я не хочу размещать базы данных в том же каталоге, что и исполнимые файлы — так я могу делать резервные копии исполнимых файлов или резервные копии баз данных независимо друг от друга. Поэтому я в папке C:\Server\data\DB\ создаю новую подпапку data для файлов баз данных. То есть получается была создана папка C:\Server\data\DB\data.
В папке с СУБД (у меня это C:\Server\bin\mariadb\) создайте файл my.cnf и скопируйте в него:
Обратите внимание, что у меня путь до файлов баз данных c:/Server/data/DB/data/, если у вас другое значение, то вставьте его.
Для установки и запуска службы откройте командную строку от имени администратора:
Как установить MariaDB 7.4 в Windows
О том, что такое MariaDB и чем она отличается от MySQL смотрите в статье «MariaDB для Windows».
Особенности установки MariaDB 7.4 в Windows
Особенность данной версии (на момент написания она является самой новой) в том, что вместе с ней не поставляются необходимые файлы баз данных.
Дело в том, что все свои данные (например, пользователи и их пароли, метаинформацию о базах данных и таблицах, данные статистики), СУБД MariaDB хранит также в одной из своих базе данных. То есть для работы MariaDB нужно чтобы существовала хотя бы база данных со служебными таблицами.
Ранее архив MariaDB поставлялся с папкой data в которой присутствовали необходимые файлы. Но начиная с версии MariaDB 7.4 эта папка пустая.
Получается, мы не можем запустить службу MariaDB, пока не будут созданы нужные файлы. Для создания этих файлов используется так называемый процесс «инициализации».
В последних версиях MySQL всё аналогично — для работы требуется служебная база данных, но она не поставляется с программой. Для создания нужных файлов достаточно запустить mysqld с опцией —initialize-insecure.
И хотя MariaDB должна быть полностью совместимой с MySQL, в ней опция —initialize-insecure не работает!
mysql_install_db.exe
Для инициализации СУБД в MariaDB нужно использовать поставляющуюся в комплекте программу mysql_install_db.exe. Причём она не обращает внимание на файл настроек my.cnf! То есть даже если в этом файле вы установили значение datadir, при запуске команды mysql_install_db.exe всё равно нужно явно указать путь до папки с базами данных:
У меня исполнимые файлы СУБД находятся в папке C:\Server\bin\mariadb, а базы данных должны размещаться в папке C:\Server\data\DB\data\, тогда моя команда следующая:
Когда необходимые файлы созданы, можно выполнить установку и запуск службы как обычно:
Программа поддерживает следующие опции:
Помните: для создания сервиса Windows, mysql_install_db.exe должна быть запущена пользователем с полными правами администратора. Для простой инициализации баз данных права администратора не требуются.
Также обратите внимание, что в указанной папке БД будет создан новый файл конфигурации. Получается, если вы хотите, чтобы MariaDB учитывала настройки из этого файла (если вы ещё не создали свой собственный конфигурационный файл), то вам нужно перенести его в корневую папку MariaDB.
Следующие примеры взяты из официальной документации — сам я предпочитаю выполнять установку с помощью mysqld как это показано выше, и конфигурационный файл я создаю внучную.
Команда для создания необходимых баз данных в директории C:\db, регистрации автозапуска службы Windows с именем «MyDB» и установки пароля root на ‘secret‘:
Для запуска службы из командной строки:
Удаление службы и баз данных
Если вы запустили вашу СУБД как службу, то для полного удаления из командной строки используйте команды:
Установка MariaDB 10.3.8 на Windows Server 2016
Инструкция по установке MariaDB 10.3.8 на Windows Server 2016. Вместе с MariaDB сервером поставим HeidiSQL. При желании можно дополнительно поставить клиентскую программу, утилиты для резервного копирования, компоненты разработчика.
Ответвление
MySQL теперь принадлежит компании Oracle. Я не вникал в тонкости политики лицензирования Oracle, но СУБД MariaDB появилась как ответвление от MySQL со статусом свободного ПО. MariaDB поддерживает высокую совместимость с MySQL, обеспечивая точное соответствие с API и командами MySQL.
На удивление в Oracle не похоронили СУБД, которая является их прямым конкурентом. Однако, разработка MySQL ведётся закрыто. А MariaDB ведёт разработку открыто, патчи принимаются от обычных пользователей, поэтому, в целом, MariaDB развивается активнее.
В состав MariaDB включена подсистемы хранения данных XtraDB для возможности замены InnoDB, как основной подсистемы хранения. Также включены подсистемы Aria, PBXT и FederateX.
Начиная с релиза MariaDB 5.2.7 в состав Windows-пакета MSI входит бесплатный инструмент HeidiSQL. HeidiSQL — это легковесный интерфейс для работы с базами данных MariaDB, MySQL, MS SQL, PostgreSQL и SQLite.
Ссылки
Дистрибутив
Находим нужный нам дистрибутив и скачиваем.
Установка
Запускаем скачанный дистрибутив.
Открывается мастер. Попадаем на страницу приветствия. Next.
Принимаем лицензионное соглашение. Next.
Выбираем компоненты для установки. Вместе с СУБД можно установить клиентскую программу, утилиты для резервного копирования, компоненты разработчика и HeidiSQL. Выбираю всё.
Кнопка «Browse» позволяет указать путь установки. По умолчанию ПО установится в «C:\Program Files\MariaDB 10.3\». Путь HeidiSQL не выбирается, клиент устанавливается в «C:\Program Files (x86)\Common Files\MariaDBShared\HeidiSQL».
Обращу внимание на кнопку «Disk Usage». Она открывает новое окно, в котором указывается размер установки. Next.
Указываем пароль пользователя root. Можно разрешить доступ пользователю root с удалённых машин.
Устанавливаем UTF8 в качестве набора символов по умолчанию. Next.
Предпочитаю устанавливать СУБД в Wndows как службу. По умолчанию MariaDB создаёт службу с названием MySQL. Это странно, переименовываю в MySQLMariaDB, потому что у меня на том же сервере есть уже MySQL.
Порт по умолчанию 3306, но у меня уже есть MySQL, меняю порт на 3307.
Можно настроить размер буферного пула и размер страницы движка Innodb. Ничего не меняю. Next.
Можно включить плагин обратной связи и слать статистику, не люблю включать такие галки. Next.
MariaDB готова к установке. Install.
Начинается процесс установки выбранных компонентов.
Установка завершена. Finish.
Команда netstat покажет, запустилась ли служба.
Да, порт 3307 работает.
MariaDB 10.3.8 установлена на Windows Server 2016.
На рабочем столе создаётся иконка HeidiSQL. Для подключения к текущему серверу нужно указать:
Клиент поддерживает несколько цветовых тем.