Re: 如何配置mysql的数据库目录
发表于 : 2009-03-08 16:35
学习了 

cha369 写了:执行第5步重启的时候 fail, 没有错误提示, 哪位高手帮忙解决一下, 我放置的目录/home/db/mysql和原始的/var/lib/mysql机构一致, 权限也配置的一样, 复制过去后无法启动
百草谷居士 写了:http://hi.baidu.com/weiqi228/blog/item/ ... 2bb32.html
我在这里找到了一篇文章,终于解决了这个问题
其中在修改了/etc/apparmor.d/usr.sbin.mysqld文件后要使用sudo /etc/init.d/apparmor restart重新启动这个进程。ubuntu8.10下修改mysql数据库存储位置
2008-11-10 12:39
1、关掉数据库 sudo /etc/init.d/mysql stop
2、假设我们指定的数据库文件目录为/db
创建目录 /db,并修改其拥有者及所属群组为mysql:mysql.命令:chown mysql:mysql db
修改mysql配置文件my.cnf:将datadir=/var/lib/mysql改为datadir=/db
3、修改ubuntu中的安全设置
sudo gedit /etc/apparmor.d/usr.sbin.mysqld 在这个文件里面加入权限设定,将原来的
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
更换成
/db/mysql/ r,
/db/mysql/** rwk,
4、重新初始化数据文件:执行sudo mysql_install_db
5、启动mysql数据库服务:sudo /etc/init.d/mysql start
6、设置mysql数据库root密码:mysqladmin -u root password ‘new-password’
7、在/etc/mysql/debian.cnf中找到你的debian-sys-maint用户密码,在mysql中重新建立这个用户.
此时我们会发现/db目录下出现mysql相关文件。如果我们新建数据库,其数据库文件也将出现在db目录下。表示我们修改的mysql数据库文件存储目录正确。
据说这个是在ubuntu中特有的安全机制,有知道的朋友可以给讲一下apparmor的作用。其实一直不成功关键就是这里了。
另外,文中第7步不晓得究竟是什么意思?
不过在重新启动mysql的时候还是有一个错误出现:~$ sudo /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [fail]
* Starting MySQL database server mysqld [ OK ]
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'