[转]ubuntu12.04下修改mysql的datadir的问题
2013-4-25阅读62 评论0
昨天由于服务器空间告紧,需要将mysql的datadir从默认的/var/lib/mysql移到/usr/local/mysql下,操作如下:
2.cp -a /var/lib/mysql /usr/local/
3./etc/init.d/mysql start
[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
但是执行mysql_upgrade时,同样报错。
在网上google一圈后,没有找到解决办法。
忽然想起,之前在调试mail server时,修改系统默认存储目录,需要修改系统的chroot参数,于是决定试下,后面事实证明就是这个原因。
这里把相关步骤记录下,以备需要的朋友共享之。
修改系统的chroot,需要修改/etc/apparmor.d下的相关文件,这里以mysql为例,需要修改:usr.sbin.mysqld和abstractions/mysql两个文件。
2.修改abstractions/mysql中一行:/var/lib/mysql/mysql.sock rw,改为:/usr/local/mysql/mysql.sock rw,
3.重新加载apparmor服务:/etc/init.d/apparmor reload
启示:不只是mysql,如果需要修改其他一些系统自带软件的存储目录,改了配置之后,仍然报错的话,则可能需要修改相应chroot才行!请参照上面的方法!
来自:http://blog.sina.com.cn/s/blog_4152a9f50100mq5i.html
后记:
虽然参考该文章解决了启动的问题,但是还有一个问题穷文件里始终有一个error
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
查了好久乜有结果,期待大拿解答。