美文网首页我用 LinuxLinux学习之路
一步迁移MySQL数据库目录 | base apt-get

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

作者: AlicFeng | 来源:发表于2017-06-09 14:38 被阅读138次

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


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

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


    原理步骤

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

    • 停止MySQL服务
    sudo service mysql stop
    
    • 迁移数据库文件
    mv /var/lib/mysql /home/alic/data/mysql
    
    • 修改配置
    # 将 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服务
    sudo service apparmor restart
    sudo service mysql start
    

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

    #!/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数据库目录迁移完成!"
    

    运行此脚本便可以搞定!


    ****价值源于技术,贡献源于分享****

    相关文章

      网友评论

        本文标题:一步迁移MySQL数据库目录 | base apt-get

        本文链接:https://www.haomeiwen.com/subject/lkffqxtx.html