解决ubuntu下修改MySQL数据存储路径不生效问题
一、问题描述:
Ubuntu12.04下,利用apt-get install mysql-server安装的MySQL,版本是5.5的,因担心后期数据不断上升,就想把mysql的数据存储路径调整为其他目录,也就是datadir参数的配置,可是调整之后,show databases报错了,显示:ERROR 1018 (HY000): Can't read dir of '.' (errno: 13)
而且mysql> show variables like '%data%'; 查看datadir路径,仍是修改前的,下面分别就修改方法与解决办法说一下。
二、ubuntu下修改apt-get方式安装的MySQL数据存储路径
1、ubuntu下利用 apt-get install mysql-server安装的MySQL数据存放的默认目录
数据库存放目录: /var/lib/mysql/
相关配置文件存放目录: /usr/share/mysql
相关命令存放目录: /usr/bin(mysqladmin mysqldump等命令)
启动脚步存放目录: /etc/init.d/mysql
2、停止 mysql 的运行
/etc/init.d/mysql stop
3、修改 MySQL 的配置文件
vi /etc/mysql/my.cnf
datadir 修改为:
datadir = /data/mysql
4、mysql的数据目录复制到更改的位置:
cp -rp /var/lib/mysql /data/mysql
5、修改控制MySQL启动文件
vi /etc/apparmor.d/usr.sbin.mysqld
把这两行屏蔽了
/var/lib/mysql r,
/var/lib/mysql/** rwk,
新增:
/data/mysql r,
/data/mysql/** rwk,
保存退出后,重启
/etc/init.d/apparmor restart
6、启动MySQL
/etc/init.d/mysql start
三、问题重现及解决
1、修改完成后,启动MySQL进入也正常,但show databases时,报错:ERROR 1018 (HY000): Can't read dir of '.' (errno: 13)
解决办法:就是在上面修改好的基础上,kill 此进程的pid 然后把mysql 重新启动一下!问题就解决了!如下图所示:
以上就是修改MySQL数据存储路径,show databases 报错:ERROR 1018 (HY000): Can't read dir of '.' (errno: 13) 的解决办法!
评论