Moving MySQL database
Peter Risdon
peter at circlesquared.com
Fri Sep 3 08:41:00 PDT 2004
Matthew Seaman wrote:
> On Fri, Sep 03, 2004 at 09:42:36AM -0400, Bart Silverstrim wrote:
>
>>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.
>
>
> I'd do it this way:
>
> i) Stop mysql
>
> ii) Remove (pkg_delete) the mysql-server package
>
> iii) Move the database files to their new location, taking care to
> preserve ownership, permissions, timestamps etc.
Might a cp -p be slightly more cautious/paranoid until step vi has been
completed?
Peter.
>
> iv) Reinstall the mysql-server port setting a different DB_DIR on
> the make command line:
>
> # make DB_DIR=/usr/local/db install
>
> v) Make sure that the home directory of the mysql user account is
> the same as you set DB_DIR to. The port should take care of
> that, but it won't hurt to double check.
>
> % grep mysql /etc/passwd
> mysql:*:88:88:MySQL Daemon:/usr/local/db:/sbin/nologin
>
> vi) Restart the mysql server. Verify that your data survived the
> move.
>
> And that's it: you're done.
>
> Cheers,
>
> Matthew
>
More information about the freebsd-questions
mailing list