在Debian 7中更改Mysql数据目录?

在Debian 7中更改Mysql数据目录?,mysql,linux,debian,Mysql,Linux,Debian,我有一个单独的分区,包含我的www和mysql文件夹 我将该分区设置为启动时自动装载,apache2启动良好,没有错误 然而,当我最近删除了mysql-server-5.5的所有跟踪,重新启动并重新启动它时,它会正常工作 但是当我第二次修改my.cnf指向/media/server/mysql并尝试启动mysql时,错误就消失了 以下是我迄今为止遵循的步骤列表。请注意,据我所知,Debian没有apparmor,所以我跳过了这一步 Stop MySQL using the following c

我有一个单独的分区,包含我的www和mysql文件夹

我将该分区设置为启动时自动装载,apache2启动良好,没有错误

然而,当我最近删除了mysql-server-5.5的所有跟踪,重新启动并重新启动它时,它会正常工作

但是当我第二次修改my.cnf指向/media/server/mysql并尝试启动mysql时,错误就消失了

以下是我迄今为止遵循的步骤列表。请注意,据我所知,Debian没有apparmor,所以我跳过了这一步

Stop MySQL using the following command:

sudo /etc/init.d/mysql stop

Copy the existing data directory (default located in /var/lib/mysql) using the following command:

sudo cp -R -p /var/lib/mysql /newpath

edit the MySQL configuration file with the following command:

gedit /etc/mysql/my.cnf

Look for the entry for datadir, and change the path (which should be /var/lib/mysql) to the new data directory.

In the terminal, enter the command:

sudo gedit /etc/apparmor.d/usr.sbin.mysqld

Look for lines beginning with /var/lib/mysql. Change /var/lib/mysql in the lines with the new path.
Save and close the file.

Restart the AppArmor profiles with the command:

sudo /etc/init.d/apparmor reload

Restart MySQL with the command:

sudo /etc/init.d/mysql restart

Now login to MySQL, and you can access the same databases you had before.

虽然我也看了这里的链接

我猜这是一个权限问题,但我可能错了

root@debian:~# chown -R mysql:mysql /media/server/mysql
root@debian:~# sudo /etc/init.d/mysql restart
[ ok ] Stopping MySQL database server: mysqld.
[FAIL] Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
我承认我还是一个linux新手,所以我可能在做别人推荐的事情,而没有真正理解它到底在做什么

它没有给出失败原因的细节

另一个选项,我可以考虑做,是重新启用它使用默认数据DIR,然后只从分区中复制MySQL文件。< /P> 但这否定了为webdev提供专用分区的全部意义


非常感谢您的评论或努力。

您应该移动它,而不是复制原始的datadir(/var/lib/mysql)。它可以更好地跟踪所有元数据

代替:

sudo cp -R -p /var/lib/mysql /newpath
使用:

或者最好保存原始datadir的副本,然后将其移动,如下所示:

sudo cp -R -p /var/lib/mysql /var/lib/mysql.bak
sudo mv /var/lib/mysql /newpath
然后启动mysql服务,应该一切顺利:)


干杯

我也遇到了同样的问题,但经过一个简短的调查。 我注意到mysql deamon由于bin日志而失败

因此,我在datadirectory中编辑了文件“mysql bin.index”,并将bin文件的位置更新为新的datadirectory


现在mysql启动时没有出现任何问题。

您是否复制了“mysql”数据库?(mysql在哪里存储各种内部数据?)!!我最初在一周左右之前,将整个现有的mysql数据库和文件复制到新分区。然后出现了一些错误,mysql拒绝再次启动,因此,从那时起,所有的努力。当前没有生成日志文件,在my.cnf中,日志部分被注释掉。但当我尝试取消注释它时,它仍然无法运行以允许我生成日志文件错误消息。但是当我cat mysql.err或mysql.log时,我得到的只是空文件。我
cp
旧的datadir,然后尝试
chown-R mysql:mysql
,但没有成功。当我像上面那样复制mysql目录时,我能够重新启动mysql。
sudo cp -R -p /var/lib/mysql /var/lib/mysql.bak
sudo mv /var/lib/mysql /newpath