How to Move MySQL Data Directory to a New Location | Ubuntu

Environment
  • Ubuntu 16.04

Content
Move MySQL Data Directory to a Encrypted Partition
#@ref https://www.digitalocean.com/community/tutorials/how-to-move-a-mysql-data-directory-to-a-new-location-on-ubuntu-16-04
mysql -u root -p
mysql> select @@datadir;

+-----------------+
| @@datadir       |
+-----------------+
| /var/lib/mysql/ |
+-----------------+
1 row in set (0.00 sec)


sudo systemctl stop mysql
sudo systemctl status mysql


# Copy & Rename old data location
sudo rsync -av /var/lib/mysql /media/StoreA
sudo mv /var/lib/mysql /var/lib/mysql.bak


# Edit mysqld.cnf
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
   datadir = /media/StoreA/mysql


# AppArmor
sudo vim /etc/apparmor.d/tunables/alias
   alias /var/lib/mysql/ -> /media/StoreA/mysql,

sudo systemctl restart apparmor


# mysql-systemd-start
sudo mkdir /var/lib/mysql/mysql -p
/usr/share/mysql/mysql-systemd-start


# Done
sudo systemctl start mysql
sudo systemctl status mysql

sudo rm -Rf /var/lib/mysql.bak

Note: Do similar on Ubuntu 14.04


Update