[英]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.