change datadir for MariaDB 5.5

configuration, mariadb, mysql, path

Solution

I did this in Fedora 20, but in your Windows case things are similar.

Stop MariaDB using the following command:

service mariadb stop

or (for more recent Fedora versions)

sudo systemctl stop mariadb

Make sure the parent directory of the new data directory has execute permissions.

namei -mo /path/to/directory
chmod +x /path/to/parent

Copy the existing data directory (default located in /var/lib/mysql) using the following command:

sudo cp -R -p /var/lib/mysql /newpath

Edit the MariaDB configuration file with the following command:

vim /etc/my.cnf.d/server.cnf

or (for more recent MariaDB versions)

vim /etc/my.cnf.d/mariadb-server.cnf

Look for the entry for datadir, or create one under [mysqld] and change the path (which should be /var/lib/mysql) to the new data directory.

datadir   = /newpath

Restart MySQL with the command:

service mariadb start

or (for more recent Fedora versions)

sudo systemctl start mariadb

Problem

I want to change my datadir for MariaDB. I mean I want to have all my file except data folder in C:\Program Files\MariaDB 5.5 and my data file in C:\user\appdata. I don't want any data file in the first path (even my.ini). When I go in my command line, and execute C:\Program Files\MariaDB 5.5\bin\mysqld it doesn't work because I don't have any data folder in this path : C:\Program Files\MariaDB 5.5. I know that I have to change datadir in my.ini but the problem is : how can I change the default path to my.ini? I repeat, I don't want any data file in C:\Program Files\MariaDB 5.5 If I can change this default path, then I will just have to change datadir. Thanks guys for your answers and sorry for my English :)

Original source