我使用 FreeBSD 8.2,mysql 5.1.58。我想更改 mysql 默认目录。我在 my.cnf 上配置了 datadir= /path 或 my-data-dir= /path,但没有成功。注意:我对 /path 的权限是 755,所有者是 mysql:mysql。通过另一种方式,我在 /etc/rc.conf 中设置但没有成功
当重新启动 mysql 服务时出现此错误。
usr/local/etc/rc.d/mysql-server 重新启动 mysql 没有运行?(检查 /var/db/mysql/bsd1.abc.com.pid)。
帮我。
答案1
我假设您当前的 MySQL 数据目录是默认的 /var/db/mysql。
- 停止 MySQL(服务 mysql-server 停止)
- 更改 rc.conf 中的 datadir (mysql_dbdir="/another/directory")
- mv /var/db/mysql /其他/目录
- 再次启动 MySQL(service mysql-server start)
如果仍然有问题,请确保目录本身和其中的所有目录都属于用户和组 mysql。(chown -R mysql:mysql /another/directory;chmod 600 /another/directory)
答案2
另一种方法是:
移动并将‘ln -s’ /var/db/mysql 移到某处。
答案3
停止 MySQL
服务 mysql 停止
为 MySQL 数据创建新目录
mkdir /new/dir/for/mysql
将新目录的所有权设置为与现有目录匹配
chown --reference=/var/lib/mysql /new/dir/for/mysql
设置新目录的权限以匹配现有目录
chmod --reference=/var/lib/mysql /new/dir/for/mysql
将默认目录中的所有文件复制到新目录,保留权限(-p)
cp -rp /var/lib/mysql/* /new/dir/for/mysql/
编辑 /etc/my.cnf 文件,在 [mysqld] 下添加以下行:
datadir = /新/目录/for/mysql/
启动 MySQL
服务 mysql 启动