怎样让自己的SQLserver数据库文件上传到服务器(如何把数据上传到服务器)

怎样让自己的SQLserver数据库文件上传到服务器(如何把数据上传到服务器),第1张

如果您要将自己的数据库导入服务器,1可以点击下面的“建立备份”一。

2点击建立“备份用FTP”。

3用FTP将您自己的数据库备份文件上传到服务器上,覆盖服务器上的1bak(SQL2000)/1sql(Mysql)。

4再点从备份一中的“备份中还原。”

5如果导入过程中发生意外,需要重新导入,您要先点清空数据库。

(在备份还原前,请您先停止您的网站一分钟后再 *** 作,否则数据库正在使用中会造成 *** 作失败。)

前提条件

您需要在您RDS for MySQL所在的云账号下开通阿里云数据传输服务。并 点击此处

下载dts-ads-writer插件到您的一台服务器上并解压(需要该服务器可以访问互联网,建议使用阿里云ECS以最大限度保障可用性)。服务器上需要有Java

6或以上的运行环境(JRE/JDK)。

*** 作步骤

1 在分析型数据库上创建目标表,数据更新类型为实时写入,字段名称和MySQL中的建议均相同;

2 在阿里云数据传输的控制台上创建数据订阅通道,并记录这个通道的ID;

(见: >

先假设有主机 A 和 B ( Linux 系统),主机 A 的 IP 分别是 1234 (当然,也可以是动态的),主机 B 的 IP 是 5678 。两个主机都装上了 PHP+Mysql ,现在 *** 作的是主机 A 上的资料,如果另外一个主机 B 想跟 A 的资料进行同步,应该怎么做呢?

OK,我们现在就动手。

首先,如果要想两个主机间的资料同步,一种方法就是主机 A 往主机 B 送资料,另外一种主法就是主机 B 到主机 A 上拿资料,因为 A 的 IP 是动态的(假设),所以我们就得从主机 A 往主机 B 送资料。

在主机 B 上创建一个 Mysql 账户。

# GRANT ALL ON test TO user@% IDENTIFIED BY "password"; //创建用户 user,可以从任何机器访问到主机 B 上的 test 数据库。

如果这里显示错误,先把 % 改为一个 IP ,然后再利用 phpMyAdmin 把 IP 改为 % ,测试无误后就可以写 php 程序。

<

$link=mysql_pconnect("localhost","user","password");

mysql_pconnect("localhost","user","password"); //连接本机(主机A)的数据库

mysql_select_db("test"); //选择数据库test

$re=mysql_query("select from table order by id desc");

$num=mysql_numrows($re);

if (!empty($num)) {

$id=mysql_result($re,0,"id"); //获得本机table表的最大ID

}

mysql_close($link); //关闭与本机数据库的连接

$link=mysql_pconnect("5678","test","test");

mysql_pconnect("5678","test","test"); //连接主机B的数据库

mysql_select_db("test"); //选择数据库test,此数据库应该与主机A上test数据库的结构一样。

$re=mysql_query("select from table order by id desc");

$num=mysql_numrows($re);

if (!empty($num)) {

$remote_id=mysql_result($re,0,"id"); //获得主机Btable表的最大ID

}

if ($id>$remote_id) {

$result_id=$id-$remote_id; //如果主机A中table的最大ID大于主机B中table表的最大ID,说明两个

} 的资料不同

mysql_close($link); //关闭主机B的数据库连接

$link=mysql_pconnect("localhost","user","password");

mysql_pconnect("localhost","user","password");

mysql_select_db("test");

if (empty($result_id)) $result_id=0;

if (empty($remote_id)) $remote_id=0; //如果主机B中的table的最大ID为空(里面没有资料),那么就等0

$re=mysql_query("select from table limit $remote_id,$result_id"); //取出主机A中table表与主机B中table表里不同的资料

$num=mysql_numrows($re);

if (!empty($num)) {

for ($i=0;$i<$num;$i++) {

$test[$i]=mysql_result($re,$i,"test"); //把不同的资料放入一个数组里

}

}

mysql_close($link); //关闭主机A的数据库连接

$link=mysql_pconnect("5678","user","password");

mysql_pconnect("5678","user","pasword");

mysql_select_db("test");

for ($j=0;$j<$i;$j++) { //这里的i等于在比较主机A与主机B上table表不同资料的数量

mysql_query("insert into table (test) values(\'$test[$j]\')");

}

mysql_close($link); //关闭主机B的数据库连接

>

这时就初步实现了 A 主机和 B 主机数据的同步,但现在还需要人手动每次去激活这个程序,有没有办法把它作为一个脚本一样的,放在 crontab 里面指定时间自动执行呢?

在安装 php 时会自动生一个叫 php 的可执行文件,一般在/你安装的 php 目录 /bin 下面,不过较底的版本好像没有,如果没有这个文件,你就得升级你的 php 。

#php -q testphp

php 原本是应用在网页应用的﹐因此它会送出 HTML 的 Header﹐但是在此我们是要将 php 用作 Shell Script﹐"-q" 就是表示不要送出 Header 的意思

最后编辑 /etc/crontab 里的文件,加上下面这一句。

0 0 root /home/>

首先你要说明一下这2个数据库是什么关系

数据库集群,那么AB两库是镜像还是互备,当然,根据数据库品牌不同,同步的方式也不一样,不过都可以通过安装过程和建立数据库实例中的配置来实现

数据库之间通过其他可控程序连接,那么,该情况下,需要数据可能出现延迟等,不推荐

数据库之间没有连接,但是都由同一个节点进行数据下发,那么就在这个节点上实现一个跨库事物控制就行了

JOB,通过定时上传,比如说三分钟JOB执行一次,客户端将本地数据库新增的记录上传到总部数据库,同样,总部数据库也是三分钟JOB执行一次,将所上传的记录下发到各客户端数据库中,这样进行同步。

以上就是关于怎样让自己的SQLserver数据库文件上传到服务器(如何把数据上传到服务器)全部的内容,包括:怎样让自己的SQLserver数据库文件上传到服务器(如何把数据上传到服务器)、如何对MySQL数据库中的数据进行实时同步、怎么同步数据库的数据到elasticsearch等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10122858.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存