Skip to main content

Change MySQL Data Directory on Ubuntu

Stop MySQL service

service mysql stop

Backup existing MySQL data directory

tar -cvf mysql.tar /var/lib/mysql

Create a new data directory with proper permissions

mkdir -p /data/mysql
chown mysql:mysql /data/mysql

Migrate existing data into the new location using rsync command

nohup rsync -avp /var/lib/mysql/ /data/mysql

Change data directory in /etc/mysql/my.cnf as follows

datadir = /data/mysql

Change AppArmor data directory paths under /etc/apparmor.d/usr.sbin.mysqld

# Replace the lines beginning with /var/lib/mysql into /data/mysql
:%s/\/var\/lib\/mysql/\/data\/mysql/g

Start MySQL service

service mysql start