By sawyer
Within /etc/mysql/my.conf
, you can easily set datadir=/mnt/your_block/mysql
, but there are some deeper issues with apparmor
. How do I reconfigure apparmor
to acknowledge my new datadir
?
I’ve followed directions at [this] (http://askubuntu.com/questions/137424/moving-mysql-datadir) StackOverflow post, but upon completion I get ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/mnt/volume-nyc1-01/mysql/mysqld.sock'
I can’t find mysqld.sock
.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Accepted Answer
How To Move a MySQL Data Directory to a New Location on Ubuntu 16.04 is available now.
I’m having no luck on Ubuntu 14.04. I followed the StackOverflow commands above and when I attempt to restart mysql I get:
2016-08-25 15:54:08 1909 [ERROR] Fatal error: Can’t open and lock privilege tables: Table ‘mysql.user’ doesn’t exist
in the error log.
Is there an official DigitalOcean tutorial for 14.04?
After you’ve undone the stackexchange suggestions, try looking at /etc/apparmor.d/usr.sbin.mysqld
and updating the following stanza with the path to your mount:
# Allow data dir access
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
You’ll also need to restart apparmor:
sudo /etc/init.d/apparmor restart
If systemd still squawks about not being able to find /var/lib/mysql
when you try to restart mysql
you might try creating a symlink between the mount point and the default location as follows (with the appropriate path to your new volume.)
sudo ln -s /volume-nyc1-01/mysql /var/lib/mysql
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.