繁体   English   中英

如何在ubuntu 12.04中更改mysql数据目录

[英]how to change mysql data directory in ubuntu 12.04

我正在尝试更改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和套接字的所有提及更改为新位置

我成了:

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

我一直在查看您的更改,并且不需要执行符号链接,套接字更改和/或删除旧目录。 请按照以下步骤操作。

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

现在备份/etc/my.cnf然后编辑数据目录变量

datadir                                 = /array2/mysql

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

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

重新加载app armor并启动mysql服务

service apparmor restart
service mysql start

问候,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM