Installing MariaDB MSI packages on Windows

You are viewing an old version of this article. View the current version here.

MSI packages for Mariadb are available starting with 5.2.6. The packages are available for both x86 (32 bit) and x64 (64 bit) processor architectures. We'll use screenshots from x64 installation below, 32 bit would be very similar.

Important: Compatibility with NSIS installers for 5.2.5 or earlier.

If you install MSI package for MariaDB 5.2 on a machine where 5.2.5 or earlier is installed, MSI will fail and tell you to uninstall older 5.2 version. This behavior is by design. You can proceed uninstalling 5.2.x without worries. Existing databases will not be not removed.

Installation UI

This is the typical mode of installation. To start the installer, just click on mariadb-<major>.<minor>.<patch>.msi

Welcome

Welcome dialog

License Agreement

License Agreement

Click on "I accept the terms"

Custom Setup

Custom Setup

Here, you can choose what features to install. By default, all features are installed with the exception of the debug symbols. If "Database instance" feature is selected, installer will create a database instance, by default running as a service. In this case there installer will present additional dialogs to control various database properties. Note, that you do not necessarily have to create an instance on this stage. For example, if you already had running MySQL or MariaDB databases running as services, you can just upgrade them during the installation. Also, you can create additional database instances post installation, with mysql_install_db.exe utility.

NOTE: By default, if you install database instance, data directory will be in the "data" folder under installation root. To change data directory location, select "Database instance" in the feature tree, and use "Browse" button to point to another place.

Database security properties

This dialog is shown if you selected "Database instance" feature. Here, you can define password for the database user "root" and specify whether root can access database from remote machines. "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

Other database properties

  • Install as service

Defines if database should be run as service, and the service name. It is recommended to run database instance as service, it greately simplifies database management. Default service name is "MySQL", for compatibility reasons (this is the same name that "mysqld.exe --install" would choose too).

  • Enable networking

Whether to enable TCP/IP (recommended) and port MariaDB should listen to. If security is a concern, you can change "bind-address" parameter post-installation to bind to only local addresses. If "Enable networking" checkbox is deselected, database will use named pipe for communication.

  • Optimize for transactions

If this checkbox is selected, default storage engine is set to Innodb (or XtraDB) and sql_mode parameter is set to "NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES". You can also define Innodb/Xtradb buffer pool size. Default buffer pool size is 12.5% of RAM, dependent on your requirements you can give innodb more (up to 70-80% RAM). 32 bit versions of MariaDB have restrictions on maximum buffer pool size, which is approximately 1GB, due to virtual address space limitations for 32bit processes.

Ready to Install

Ready Dialog

At this point, all installation settings are collected. Click on "Install" button.

User account control (UAC) popup

UAC popup

If user account control is enabled (Vista or later), and you will see this dialog. Click on "Yes".

End

Finish

Installation is finished now. If you have upgradable instances of MariaDB/MySQL, running as services, this dialog will present "Do you want to upgrade existing instances" checkbox (if selected, it launched Upgrade Wizard post-installation).

In case you installed a database instance as service, service will be running already.

New entries in Start Menu

Installation will add some entries in the Start Menu:

Start Menu

  • MySQL Client - Starts command line client mysql.exe
  • Command Prompt - Starts command prompt. Environment is set such that "bin" directory of the installation is included into PATH environment variable, i.e you can use this command prompt to issue MariaDB commands (mysqldadmin, mysql etc...)
  • Database directory - Opens data directory in Explorer.
  • Error log - Opens database error log in Notepad.
  • my.ini - Opens database configuration file my.ini in Notepad.
  • Upgrade Wizard - Starts Wizard to upgrade an existing MariaDB/MySQL database instance to this MariaDB version.

Uninstall UI

In the Explorer applet "Programs and Features" (or "Add/Remove programs" on older Windows), find entry for MariaDB, choose Uninstall/Change and click on "Remove" button the dialog below.

UninstallChangeDialog

If you installed database instance, you will need to decide if you want to remove or keep data in the database directory.

KeepOrRemoveDataDialog

Silent installation

MSI supports silent installations as well. In its simplest form silent installation with all defaults can be performed from the elevated command prompt like this:

  msiexec /i <path-to-package.msi> /qn

Note: the installation is silent due to msiexe.exe's /qn switch (no user interface), if you omit the switch, the installation will have full UI.

Properties

Silent installations also support installation properties (a property would correspond for example to checked/unchecked state of checkbox in UI, user password etc). With properties command line to install MI package would look like this

msiexec /i <path-to-package.msi> [PROPERTY_1=VALUE_1 ... PROPERTY_N=VALUE_N] /qn

MSI requies property names to be all capital and consisting of English letters. By convention, for a boolean property, empty value means "false" and and non-empty is "true".

MariaDB installation support following properties:

Property nameDefault valueDescription
INSTALLDIR%ProgramFiles%\MariaDB <version>\Installation root
PORT3306--port parameter for the server
ALLOWREMOTEACCESSAllow remote access for root user
BUFFERPOOLSIZERAM/8Bufferpoolsize for innodb
CLEANUPDATA1Remove data directory (uninstall only)
DATADIRINSTALLDIR\dataLocation of data directory
DEFAULTUSERAllow anonymous users
PASSWORDPassword of the root user
SERVICENAMEName of the Windows service. Service is not created if value is empty.
SKIPNETWORKINGSkip networking
STDCONFIG1Corresponds to "optimize for transactions" in GUI, default engine innodb, strict sql mode

Features

Feature is a Windows installer term for a unit of installation. Features can be selected and deselected in UI in the feature tree in "Custom Setup" dialog.

Silent installation supports adding features with special property ADDLOCAL=Feature_1,..,Feature_N and removing features with REMOVE=Feature_1,..., Feature_N

Features in MariaDB installation:

Feature idInstalled by default?Description
DBInstanceyesInstall database instance
ClientyesCommand line client programs
MYSQLSERVERyesInstall server
DebugBinariesyesInstall mysqld-debug, and debug versions of client libraries
SharedLibrariesyesInstall client shared library
DEVELyesinstall C/C++ header files and client libraries
Embeddednoembedded server library
DEBUGSYMBOLSnoinstall debug symbols

Silent installation examples

All examples here require running as administrator (and elevated command line in Vista and later)

- Install default features, database instance as service, non-default datadir and port

  msiexec /i <path-to-package.msi> SERVICENAME=MySQL DATADIR=C:\mariadb5.2\data PORT=3307 /qn
  

- Install service, add debug symbols, do not add development components (client libraries and headers)

  msiexec /i <path-to-package.msi> SERVICENAME=MySQL ADDLOCAL=DEBUGSYMBOLS REMOVE=DEVEL /qn
  

Silent uninstall

To uninstall silently, use REMOVE=ALL property with msiexec

  msiexec /i <path-to-package.exe> REMOVE=ALL /qn
  

To keep data directory during uninstall, you will need to pass additional parameter

  msiexec /i <path-to-package.exe> REMOVE=ALL CLEANUPDATA="" /qn
  

Installation logs

If you encounter a bug in the installer, the installer logs should be used for diagnosis. Please attach logs to the bug reports you create. To create a installer log, start installer from the command line with /l switch, like

  msiexec.exe /i <path-to-package.msi>  /l <path-to-logfile.txt>

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 64 bit server and develop develop both 32 and 64 bit client components. In this case full 64 bit package can be installed, including database instance plus only development related features (headers and libraries) from 32 bit package.

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.