Doing this on CentOS 7 64 bit and MySQL 5.6 community edition
Sometimes it is better to put mysql in a separate partition than its regular location
Typically the mysql database are located in /var/lib/mysql
I want to change it to /var/data/mysql
Modify the paths as required in the below commands
stop mysql
systemctl stop mysqld.service
create new mysql data directory
mkdir /var/data/mysql
modify /etc/my.cnf and point to new data directory – add the client section to the top
[client] port=3306 socket=/var/data/mysql/mysql.sock [mysqld] datadir=/var/data/mysql socket=/var/data/mysql/mysql.sock
copy all files from /var/lib/mysql to the new directory /var/data/mysql
cp -r /var/lib/mysql/* /var/data/mysql
permissions for the new directory
chown -R mysql /var/data/mysql; chgrp -R mysql /var/data/mysql; chmod -R g+rw /var/data/mysql;
also modify SELINUX settings to allow mysql to use the different path
# add context and make it permanent semanage fcontext -a -s system_u -t mysqld_db_t "/var/data/mysql(/.*)?" restorecon -Rv /var/data/mysql
start mysql
systemctl start mysqld.service
MySQL should start cleanly.
You can verify the change by creating a test database.
Then go to /var/data/mysql and you should be able to see the new database there
Comments
No Comments Yet. Be the first?