美文网首页
个人开发本地环境不同地点多台电脑Mysql数据库同步方案

个人开发本地环境不同地点多台电脑Mysql数据库同步方案

作者: 王乐城愚人云端 | 来源:发表于2020-03-01 12:39 被阅读0次

    前言

    此方案只是针对,个人项目,然后你有多台电脑,不同电脑之间的数据库同步方案。尤其是指家中电脑和公司电脑二者之间的数据库同步问题。

    1. 有人可能会说,买个服务器,在服务器搭建个数据库,远程调用不就可以了。

    如果是多人合作,远程调用肯定是首先。但如果只有你一个人,又不想买服务器,搭建数据库。当然,使用本地同步的方案,不是因为没钱买服务器搭建,而是效率问题!远程连接数据库,http请求,请求响应,网络延迟,请求超时,是远程连接影响开发效率的主要原因!尤其是经常出现当一段时间不连接mysql,再次连接时就会报连接时间小于某某的错误!

    自从 从远程连接数据库,改成了本地数据库之后,数据请求速度,开发速度都提高了,心情都好多了。

    一、使用docker快速安装mysql

    原因:docker安装可以不污染本机环境,安装简单,卸载也简单!而且各种各样的软件都有docker安装方案,一键安装!并且可以同时安装多个mysql,redis等!环境统一,不存在mac,windows差异问题!

    docker pull mysql:5.6
    

    创建自动启动的mysql

    docker run --restart=always --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=PASSWORD -d mysql:5.6
    

    二、导出项目数据库,并上传到远程

    导出数据sql、本地备份、远程上传的脚本

    echo '开始导出数据库'
    echo -n '#' > ./yjd.sql
    docker exec -it mysql mysqldump -uroot -pxxxx yjd >> ./yjd.sql
    echo '开始上传数据库'
    ossutilmac64 cp -f ./yjd.sql oss://xxxx/yjd.sql
    today=`date +"%Y-%m-%d"`
    cp -f ./yjd.sql ~/Documents/code/temp/yjd-database-bak/${today}"-yjd.sql"
    rm -f ./yjd.sql
    echo '成功上传数据库'
    

    其中远程上传使用了oss工具,并上传到了oss服务器,原因是带宽足上传速度快。慢点的方式就是采用scp上传到自己的服务器。

    可以设置git push的勾子,每当push的时候,自动执行脚本, 上传数据库。

    三、从远程下载数据,并覆盖式导入项目数据

    echo '开始下载数据库'
    ossutilmac64 cp oss://xxxx/yjd.sql ./yjd.sql
    docker exec -i mysql mysql -uroot -pxxx yjd < ./yjd.sql
    rm -f ./yjd.sql
    echo '成功导入数据库'
    

    可以设置git pull的勾子,每当pull的时候,自动 执行脚本,同步数据库数据。

    相关文章

      网友评论

          本文标题:个人开发本地环境不同地点多台电脑Mysql数据库同步方案

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