Date: Fri, 3 Sep 2004 10:46:09 -0400 (EDT) From: Jerry McAllister <jerrymc@clunix.cl.msu.edu> To: bsilver@chrononomicon.com (Bart Silverstrim) Cc: freebsd-questions@freebsd.org Subject: Re: Moving MySQL database Message-ID: <200409031446.i83EkAi02437@clunix.cl.msu.edu> In-Reply-To: <1D64B3BF-FDAF-11D8-ABDA-000D9338770A@chrononomicon.com> from "Bart Silverstrim" at Sep 03, 2004 09:42:36 AM
next in thread | previous in thread | raw e-mail | index | archive | help
> > I have a server that is rapidly filling the var partition with a MySQL > database. I'd like to move it to a subdirectory somewhere under /usr. > > Is there a document that would outline a "best practices" approach to > doing this? My first instinct was to stop the mysqld, do a mv on > /var/db to /var/db2 to rename it, copy the data to a /usr/local/db > folder and alter permissions on it to match /var/db, then make a > softlink between /usr/local/db and /var/db and restart mysqld so mysqld > wouldn't need any reconfiguring and everything, I would *think*, should > keep working...only now it will be working off a far more spacious > partition. presuming /usr is actually a good place for it (may really want to add a disk and make a really different partition) First stop MySQL or reboot to single user. Then cd /var/db tar cf /usr/db.tar * cd /usr mkdir var.db cd var.db tar xf ../db.tar cd /var mv db db.old ln -s /usr/var.db db Now, reboot and let MySQL start and make sure it all is happy and works just fine. Then clean up. cd /usr rm db.tar cd /var rm -rf db.old It should now work using the space in /usr You can use any names you like for db.tar, var.db, db.old. Those just make sense to me and are the style I use. If you don't want to move all the stuff in /var/db, then you will have to be more selective and make the link from within /var/db rather than just the whole db directory from within /var. For example, the MySQL stuff is likely to all be in a directory called /var/db/mysql. So: Stop MySQL or reboot to single user. Then cd /var/db/mysql tar cf /usr/mysql.tar * cd /usr mkdir var.db.mysql cd var.db.mysql tar xf ../../mysql.tar cd /var/db mv mysql mysql.old ln -s /usr/var.db.mysql mysql Now, reboot and let MySQL start and make sure it all is happy and works just fine. Then clean up. cd /usr rm mysql.tar cd /var/db rm -rf mysql.old ////jerry > > Thanks, > -Bart >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200409031446.i83EkAi02437>