由于常年累月的 时间 导致磁盘空间不足或其他原因 要迁移位置;
1:sudo service MySQL stop#迁移前必须先停止mysql
2:创建mysql 存放的 目标文件夹 一般 默认的 mysql 存储目录在 /var/lib中
看清楚 文件的权限 为 700 且 用户和用户组 都为 mysql,接下来的创建 文件夹必须和这个一样:
如果你挂载了其他的硬盘 可以迁移到这里,我这边没有挂载 测试 我在本地建一个文件夹:
- sudo mkdir /mysqldata
修改所属用户 和所属用户组为 msyql
- sudo chown -VR mysql:mysql /mysqldata/
修改权限
- sudo chmod -vR 700 /mysqldata/
迁移文件
进入 /var/lib 建议使用cp命令 防止万一出现问题
使用su命令 切换到 root 因为 权限 为 700
为了保证 目录权限和属性 和以前的一致 ,加 av 后缀
- cp -av /var/lib/mysql/* /mysqldata/
exit;退出root
修改mysql的配置文件:
- sudo vim /etc/mysql/my.cnf
修改 datadir 为 /mysqldata
以上mysql的配置修改完毕
但是 还有 在ubuntu中 有些敏感操作受到了apparmor.d 的限制 ,mysql也受到了限制 所以要修改这个
- sudo vim /etc/apparmor.d/usr.sbin.mysqld
按照图片修改
- /mysqldata/ r,
- /mysqldata/** rwk,
这里 配置和迁移已经修改完成
从新启动 apparmor 和 mssql
- sudo service apparmor reload
- sudo service mysql start
测试 是否迁移成功 建数据库 看是否在 修改的 目录中 有 创建 文件夹,如果有说明迁移成功,同样 为了查看 要使用root 删除也要用root
- rm -rvf /var/lib/mysql/
本文地址:http://liuyanzhao.com/2009.html
转载请注明
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏