Ubuntu下MySql数据存储目录迁移

前提

最近项目上线需要用到阿里云服务器,但是数据库又比较大,所有购买了一台阿里云服务器,送20G磁盘,新购买一个数据磁盘100G。

本以为系统ubuntu12.04会安装在数据磁盘中,结果系统都是安装在送的20G磁盘中,打客户电话问,系统不能改变,既然系统不能改变,就只能将数据磁盘挂载到20G磁盘中(如何挂载后续一节会讲的),然后把mysql数据库目录转移到数据磁盘下面,项目代码放置在原有20G磁盘中。

一、停止mysql服务器

sudo service mysql stop

二、新建数据库存放目录

1、新建目录

sudo mkdir /mnt/mysql

2、修改文件夹属主

sudo chown -R mysql:mysql  /mnt/mysql/

3、修改文件夹权限(700)

sudo chmod -R 700 /mnt/mysql/

三、文件迁移

ubuntu默认mysql的存储目录是:/var/lib/mysql/
默认权限:700
将原有的mysql存储目录迁移到新的存储目录(不改变原有的权限)

sudo cp -av /var/lib/mysql/ /mnt/mysql/

四、修改mysql配置文件

1、打开配置文件

sudo vim /etc/mysql/my.cnf

2、将datadir 目录由/var/lib/mysql/修改为/mnt/mysql/

五、修改apparmor.d配置文件

1、打开配置文件

sudo vim /etc/apparmor.d/usr.sbin.mysqld

2、做如下修改

 # /var/lib/mysql/ r,
 # /var/lib/mysql/** rwk,
  /mnt/mysql/ r,
  /mnt/mysql/** rwk,

六、重启apparmor和mysql

1、重启apparmor

sudo /etc/init.d/apparmor reload

2、启动mysql

sudo /etc/init.d/mysql start

七、查看mysql数据库存储目录

登录mysql命令查看:

show variables like 'datadir
标签: