ubuntu系统下修改mysql数据目录

203 阅读1分钟

系统环境:Ubuntu 16.04(其他版本其实也类似),使用apt-get install mysql-server。

默认情况下,mysql的数据目录是/var/lib/mysql,因为如果你的数据库以后会越来越大,那么你就得考虑用一个空间足够大的分区来存放数据库文件,所以还是选择把它修改到其他位置,比如/usr/data/mysql_data。这个目录可以直接挂载一个大硬盘。

具体修改方式如下(为了方便起见,你可以先用su命令将系统当前用户转到root,否则以下命令可能都需要加上sudo 前缀):

1、 /etc/init.d/mysql stop

2、 chown -R mysql:mysql  /usr/data/mysql_data

3、vim /etc/mysql/my.cnf

如果my.cnf文件里面没有相应内容,可以修改文件/etc/mysql/mysql.conf.d/mysqld.cnf

找到datadir=/var/lib/mysql

将它改为datadir=/usr/data/mysql_data

4、cp -r /var/lib/mysql/*  /usr/data/mysql_data

5、vim /etc/apparmor.d/usr.sbin.mysqld 我们会看到此文件中有2行:

/var/lib/mysql/ r,

/var/lib/mysql/** rwk,

把上面这两行修改成为

/usr/data/mysql_data/ r,

/usr/data/mysql_data/** rwk,

新旧地址不能同时存在,否则后面的apparmor服务会重启失败

6、/etc/init.d/apparmor restart

7、 /etc/init.d/mysql start

OK,到此就已经成功转移了mysql数据目录。

为了测试,我们登入mysql,然后创建一个数据库newdb,再看一下/usr/data/mysql_data目录,发现多了一个newdb目录,说明数据目录已经成功转移到新目录下了。