如何在ubuntu12.04中更改mysql数据目录

b5buobof  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(305)

我正在尝试更改mysql的数据目录。我使用的是12.04 ubuntu,但mysql启动时出现了geting错误。错误为“启动:作业启动失败”。
我试着做以下事情
停止mysql服务器:

stop mysql

创建新目录:

mkdir /array2/mysql

仅复制数据库文件夹:

cp -R /var/lib/mysql /array2/mysql
cp -R /var/lib/mysql/users /array2/mysql

备份 my.cnf 文件:

cp /etc/mysql/my.cnf /root/my.cnf.backup

编辑 my.cnf 文件:

nano /etc/mysql/my.cnf

将所有提到的旧datadir和socket更改为新位置
我的成为:

datadir=/array2/mysql
socket=/array2/mysql/mysql.sock

更新目录权限:

chown -R mysql:mysql /array2/mysql

重命名旧目录:

mv /var/lib/mysql /var/lib/mysql-old

创建符号链接,以防万一:

ln -s /array2/mysql /var/lib/mysql

让apparmor知道新的datadir:

echo "alias /var/lib/mysql/ -> /your/new/datadir/," >> /etc/apparmor.d/tunables/alias

重新加载apparmor配置文件

sudo /etc/init.d/apparmor reload

然后启动mysql:

start mysql
frebpwbc

frebpwbc1#

我一直在看你的变化,这是没有必要做符号链接,套接字的变化和/或删除旧目录。请按照以下步骤操作。

service mysql stop
cp -R /var/lib/mysql /array2/mysql
chown -R mysql.mysql /array2/mysql

现在备份/etc/my.cnf,然后编辑data dir变量

datadir                                 = /array2/mysql

编辑apparmor规则,通常在/etc/apparmor.d/usr.sbin.mysqld中,方法是在/usr/sbin/mysqld组中添加以下行:

/array2/mysql/ r,
/array2/mysql/**rwk,

重新加载应用程序并启动mysql服务

service apparmor restart
service mysql start

当做,

相关问题