Ubuntu 10.04下修改MySQL的datadir的问题
由于服务器空间告紧,需要将Ubuntu 10.04下mysql的datadir从默认的/var/lib/mysql移到/usr/local/mysql下,操作如下:1.修改了/e
由于服务器空间告紧,需要将Ubuntu 10.04下mysql的datadir从默认的/var/lib/mysql移到/usr/local/mysql下,操作如下:
1.修改了/etc/mysql/my.cnf,改为:datadir = /usr/local/mysql
2.cp -a /var/lib/mysql /usr/local/
3./etc/init.d/mysql start
问题出现了,系统报错了,无法启动mysql,日志显示为:Can't find file: "./mysql/plugin.frm'(errno:13)
[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两个文件。
1.修改usr.sbin.mysqld里面的两行内容:/var/lib/mysql/ r,改为:/usr/local/mysql/ r,/var/lib/mysql/** rwk,改为:/usr/local/mysql/** rwk,
2.修改abstractions/mysql中一行:/var/lib/mysql/mysql.sock rw,改为:/usr/local/mysql/mysql.sock rw,
3.重新加载apparmor服务:/etc/init.d/apparmor reload
这时再启动mysql就成功了!
启示:不只是mysql,如果需要修改其他一些系统自带软件的存储目录,改了配置之后,仍然报错的话,则可能需要修改相应chroot才行!请参照上面的方法!
推荐阅读
-
Ubuntu下出现Mysql error(2002)问题的解决方法
-
解决Ubuntu pip 安装 mysql-python包出错的问题
-
linux安装mysql5.7.22配置文件my.cnf配置细节及修改密码时出现的问题解决
-
mysql修改密码、找不到mysql数据库、mysql1045等问题的解决办法
-
mysql修改数据库默认路径无法启动问题的解决
-
解决不能修改 Mysql 慢查询 long_query_time 值的问题
-
Ubuntu16.04下如何修改MySQL数据的默认存储位置?
-
一次Linux修改MySQL配置不生效的问题解决
-
解决MySQL8.0安装第一次登陆修改密码时出现的问题
-
Ubuntu中 MySQL 的中文编码问题