首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >一步迁移MySQL数据库目录 | base apt-get

一步迁移MySQL数据库目录 | base apt-get

作者头像
AlicFeng
发布于 2018-06-08 15:26:59
发布于 2018-06-08 15:26:59
1.4K0
举报

前言 今天再次在MySQL WorkBench折腾,这个开源的数据库客户端老是读不出数据,以为是数据库权限的问题,服务端毕竟是Linux的,但是不是这问题,不过还是搞了。那只好记录记录一下!


你没有看出标题,是一步就可以迁移MySQL数据库目录,但是使用环境是Ubuntu、基于apt-get安装。一步安装在篇章的最后。

说明 在 Ubuntu 下使用 sudo apt-get install mysql-server 安装的 MySQL 数据库,默认的数据目录是/var/lib/mysql。


原理步骤

现在希望将数据目录移到 /home/alic/data/mysql ,做法如下:

  • 停止MySQL服务
代码语言:javascript
复制
sudo service mysql stop
  • 迁移数据库文件
代码语言:javascript
复制
mv /var/lib/mysql /home/alic/data/mysql
  • 修改配置
代码语言:javascript
复制
# 将 datadir 对应的值改为 /home/alic/data/mysql
sudo vim /etc/mysql/my.cnf  

sudo vim /etc/apparmor.d/usr.sbin.mysqld #将所有 /var/lib/mysql 改为 /home/alic/data/mysql
  • 重启apparmor以及mysql服务
代码语言:javascript
复制
sudo service apparmor restart
sudo service mysql start

此时手动的配置就搞掂了!也可以一步到位,其实还是通过shell脚本实现了,很简单:就是复制上面的整合的,哈哈笑:-D。

代码语言:javascript
复制
#!/bin/bash
sudo service mysql stop && \
mkdir -P /home/alic/data && \
sudo mv /var/lib/mysql /home/alic/data/mysql && \
sudo chmod 777 -R /home/alic/data/* && \
sudo sed -i 's/\/var\/lib\/mysql/\/home\/alic\/data\/mysql/g' /etc/mysql/my.cnf && \
sudo sed -i 's/\/var\/lib\/mysql/\/home\/alic\/data\/mysql/g' /etc/apparmor.d/usr.sbin.mysqld && \
sudo service apparmor restart && \
sudo service mysql restart && \
echo "MySQL数据库目录迁移完成!"

运行此脚本便可以搞定!


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.06.09 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档