在Freebsd系统上,安装好的Mysql 默认启动时,数据文件的目录是 /var/db/mysql
而一般在创建系统分区的时候,往往没有太注意var这个分区的大小,以为这个就是存放日志的分区,所以一般不会给太大。 但是Mysql 如果在这里安家了,随着时间的推移,数据库和日志会越来越大,逐渐就会把 /var这个分区给填满,这样以来,系统就会出错。数据库也不会工作了。
这时就要迁移数据库数据文件的保存位置。
可以这样做。
首先停止Mysql 的服务。可以用 /usr/local/etc/rc.d/mysql-server stop
如果不管用,可以直接 ps aux |grep mysql
然后 sudo kill 那个mysql 进程。
然后就开始迁移数据了, 一般来说home空间都会划分的比较多,可以转到这里, sudo mkdir /home/mysql
然后 sudo mv /var/db/mysql /home/mysql
由于是 mv ,不是 cp 命令。所以原来目录的权限都保留了。
后面的方法就有两种途径了,一种是简单的,直接在原来的位置做个符号链接。就是快捷方式。
sudo ln -s /home/mysql/mysql /var/db/mysql
这样也可以的。
还有一种方法就是修改启动脚本,让mysql知道数据文件的新位置。
sudo vim /etc/rc.conf
mysql_enable=”YES”
增加一行 mysql_dbdir=”/usr/home/mysql/mysql”
保存后退出。
启动 mysql 服务 sudo /usr/local/etc/rc.d/mysql-server start
然后检查一下 mysql 的应用是否都正常,正常的话,就大功告成。