前提
最近项目上线需要用到阿里云服务器,但是数据库又比较大,所有购买了一台阿里云服务器,送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