change datadir for MariaDB 5.5

14,267

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

  1. Stop MariaDB using the following command:

    service mariadb stop
    

    or (for more recent Fedora versions)

    sudo systemctl stop mariadb
    
  2. Make sure the parent directory of the new data directory has execute permissions.

    namei -mo /path/to/directory
    chmod +x /path/to/parent
    
  3. Copy the existing data directory (default located in /var/lib/mysql) using the following command:

    sudo cp -R -p /var/lib/mysql /newpath
    
  4. 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
    
  5. 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
    
  6. Restart MySQL with the command:

    service mariadb start
    

    or (for more recent Fedora versions)

    sudo systemctl start mariadb
    
Share:
14,267
Pipo
Author by

Pipo

Updated on June 04, 2022

Comments

  • Pipo
    Pipo almost 2 years

    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 :)

  • jjj
    jjj over 8 years
    Instructions for Windows are quite different. There is no server.cnf file, but my.ini instead. And it's located in data directory, so you need to make a copy of data folder, after you amend the datadir= in [mysqld] section.