Change default MySQL Data Directory in Linux
Mostly MySQL uses /var/lib/mysql directory as default data directory for Linux based systems
We are showing here how to change the default directory to different directory.
Follow the below steps to make all the changes. In some cases service name, default data directory or MySQL configuration file path change. So use all the command as per you system settings.
1. Stop MySQL
Before making any changes, first make sure to stop mysql service
# service mysqld stop
2. Change Data Directory
Now copy default mysql data directory (/var/lib/mysql) to other location as per your requirement. Also set the required mysql ownership on new directory location.
# cp -rap /var/lib/mysql /data/mysql
# chown mysql.mysql /data/mysql
Now edit MySQL default configuration file /etc/my.cnf and update values of datadir and socket variable.
Change From:
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
Change To:
datadir=/home/myuser/data/mysql
socket=/data/mysql/mysql.sock
3. Start MySQL
After making all above changes. finally start MySQL service. Now it will use new data directory path
# service mysqld start
This article has been tested with CentOS 6.5 with MySQL 5.5.37. If you face any issue during MySQL startup check mysql log file /var/log/mysqld.log for any errors.