Contents

How to Change MySQL Data Directory

Check curent data dir

$ mysql -u root -p
> select @@datadir;
+-----------------+
| @@datadir       |
+-----------------+
| /var/lib/mysql/ |
+-----------------+

Stop MySQL service

systemctl status mysql
systemctl stop mysql

Move data to new directory

mkdir /data1/mysqldata
mv /var/lib/mysql/* /data1/mysqldata
chown -R mysql /data1/mysqldata

Modify the config file

vim /etc/mysql/mysql.conf.d/mysqld.cnf

. . .
datadir=/data1/mysqldata
. . .

Set up AppArmor

vim /etc/apparmor.d/tunables/alias

. . .
alias /var/lib/mysql/ -> /data1/mysqldata/,
. . .

systemctl restart apparmor

Restart MySQL service

systemctl start mysql