需求:
前段时间买了个阿里云服务器,随后就安装了开发环境,也没考虑那么多,现在自己想做个门户网站,考虑到一些架构的问题,后期数据库要求的空间可能比较大,最初把数据库安装到了系统盘(20G),为了后期的扩展和避免可能带来的麻烦,现在想把数据库从系统盘迁移到数据盘中,后期数据盘不够用时可以可以进行扩容
下面进入正题:
1.#sudo service mysql stop #迁移前必须先停止mysql
2.最初创建mysql时,一般默认的mysql存储目录在/var/lib/mysql中
可以看出,文件的权限为700且 用户和用户组都为mysql,接下来的创建文件夹必须和这个一样:
3.创建要迁移到的目标文件夹目录,因为我的数据盘是挂载到/mnt目录下,我在/mnt/下创建了目标文件夹
#sudo mkdir /mnt/dbdata
4.修改所属用户和所属用户组为msyql
#sudo chown -vR mysql:mysql /mnt/dbdata/
修改权限
#sudo chmod -vR 700 /mnt/dbdata/
5.迁移文件
进入/var/lib建议使用cp命令防止万一出现问题,使用su命令切换到root 因为权限为700,为了保证目录权限和属性和以前的一致 ,加av后缀#cp -av /var/lib/mysql/* /mnt/dbdata/
6.修改mysql的配置文件:
#sudo vi /etc/mysql/my.cnf
修改datadir为 /mnt/dbdata,保存退出,以上mysql的配置修改完毕。
7.但是,还有在ubuntu中有些敏感操作受到了apparmor.d的限制 ,mysql也受到了限制所以要修改这个
#sudo vi /etc/apparmor.d/usr.sbin.mysqld
保存退出,到这里配置和迁移已经修改完成
8.重新启动apparmor和 mssql
#sudo service apparmor reload#sudo service mysql start
9.测试迁移是否成功
建数据库看是否在修改的目录中有创建文件夹,如果有说明迁移成功
备注:原有的数据库存储文件/var/lib/mysql是否删除,随你
#rm -rvf /var/lib/mysql/