gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 05:05:54 25 4
gpt4 key购买 nike

我正在尝试更改 mysql 的数据目录。我正在使用 12.04 ubuntu。但是当 mysql 启动时出现错误。错误是“开始:作业无法启动”。

我尝试过以下事情

停止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=/array2/mysql
socket=/array2/mysql/mysql.sock

更新目录权限:

chown -R mysql:mysql /array2/mysql

重命名旧目录:

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

创建一个符号链接(symbolic link),以防万一:

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

让 AppArmor 知道新的数据目录:

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

重新加载 apparmor 配置文件

sudo /etc/init.d/apparmor reload

然后启动mysql:

start mysql

最佳答案

我一直在查看您的更改,没有必要进行符号链接(symbolic link)、套接字更改和/或删除旧目录。请按照以下步骤操作。

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 组中添加以下行:

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

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

service apparmor restart
service mysql start

问候,

关于php - 如何在 ubuntu 12.04 中更改 mysql 数据目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48324401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com