方小琪 发表于 2020-4-10 23:05:39

小白教程:超详细数据库结构同步的方法(原创,陆续编辑)

先说明一下:


1. 很多教程采用的是 本地数据库 和 云端数据库 同步,而今天我们 采用 云端1 同步 云端2 数据库; 因为,很多人根本不会用 本地数据库,所以,为了大家简单易懂,我们就来最简单的操作,一看就会的那种。


2. 本教程用到的工具或素材:宝塔控制面板、Navicat for MySQL软件、数据库版本 Mysql 5.6


3. 场景:常用于我们的 应用从旧版升级到新版,却没有 升级脚本的时候;因为仅仅覆盖网页并不能达到升级的目的,还要数据库升级。


4. 数据库比对最常用于:


A. 小程序或者公众号没有升级文件,一般是 upgrade.php ,升级文件就是 manifest.xml 中 <upgrade><!]></upgrade>
,或者可以看到 manifest.xml 中 <upgrade><!]></upgrade>


B. 升级文件也有,可就是 覆盖升级后,后台设置无法保存,这种境况一般就是缺少数据库字段或者数据库表;




假定,我们需要升级应用程序 某拼团,某拼团的完整数据库文件 all.sql ,我们自己的 微擎数据库名 mswiner ,现在,我们需要把自己微擎里面的应用升级,网页文件已经覆盖,下面,我们开始 完整的数据库对比同步结构,进行升级。






第一步:安装 Navicat for MySQL,这个软件是付费的,请百度搜索“Navicat for MySQL 破解版”,根据相关的教程即可激活,这个是第一步,也非常简单,请自行操作,不再累赘解释。


第二步:去你的服务器控制面板,左边,数据库,找到你想升级的应用 所在微擎的数据库,权限,设置为所有人。


第三步:去你的服务器控制面板,phpMyAdmin,用户--添加数据库--xinshujuku(名字随便写),注意,权限选择 所有人


第四步:把新的 数据库文件 all.sql 导入到我们新建的数据库 xinshujuku,注意看是否导入成功,有没有报错哦;


没有这个应用的整体数据库怎么办?


用记事本打开这个应用的 manifest.xml 文件,找到


<install><!


这个就是开始标志;


下方这个是结束标志;


]]></install>


这两个标志中间的,复制下来,到数据库SQL 执行,就是一样的效果了;


第五步:在你的电脑上,打开 Navicat for MySQL软件,左上角--新建--填写服务器 IP 地址,数据库的用户名、密码,测试连接 或者 确定。


连接成功后,双击你的数据库,就可以看到这个数据库里面的所有 表,如下:


如果连接失败,请检查你的数据库权限,需要是“所有人”,或者你的 服务器 没有开启 3306 端口,自己到 阿里云 服务器 安全组规则,放行 3306 端口;


第六步:同样的道理,在 Navicat for MySQL软件 左上角,继续 进行同样的操作,连接上你的 准备升级的那个 微擎数据库(就是 目标数据库,要升级的那个,我这里演示是 mswiner 这个是我的微擎数据库);


先检查两个数据库,是否都已经连接成功,成功后两个 数据库图标是绿色的。


左边数据库,是你导入 数据库文件的 源,右边是目标,就是我们要升级 同步的 微擎数据库,选好以后,开始【比对】,耐心等待,可能时间较长,具体时间长短,以你的服务器性能、数据库里面内容的多少而决定,快则 几分钟,慢则 一二十分钟或者更长时间,很多时候,会一直显示 40%,不用管它,正常情况,对比完成后如下图:






第七步: 同步结构


下拉多选,然后 鼠标右键 勾选已选择的;


第一行 SET FOREIGN_KEY_CHECKS = 0 和 最后一行 SET FOREIGN_KEY_CHECKS = 1 ,不勾选;


检查,检查不要弄错了,然后,点击右下角 “运行查询”;


同步完成后, 关闭即可;




第八步: 回到你的宝塔控制面板,删除你新建的 数据库(xinshujuku),你也可以不删除,随便你,为了安全,我会删除,原因自己百度。同时,把自己的微擎数据库,权限改为 本地数据库;



GAME OVER ,收工,完成结构同步了!就是这么简单!

页: [1]
查看完整版本: 小白教程:超详细数据库结构同步的方法(原创,陆续编辑)