如何跨主机复制mysql数据库

如何跨主机复制mysql数据库,第1张

有两种办法。

1、在B机器上装mysql。

将A机器上的mysql/data下的你的数据目录整个拷贝下来。

将B机器上的mysql服务停止。

找到B机器上的mysql/data目录,将你拷贝的目录粘贴进去,然后启动mysql服务就可以了。

2、使用SQL语句备份和恢复

你可以使用SELECT

INTO

OUTFILE语句备份数据,并用LOAD

DATA

INFILE语句恢复数据。这种方法只能导出数据的内容,不包括表的结构,如果表的结构文件损坏,你必须要先恢复原来的表的结构。

语法:

SELECT

*

INTO

{OUTFILE

¦

DUMPFILE}

’file_name’

FROM

tbl_name

LOAD

DATA

[LOW_PRIORITY]

[LOCAL]

INFILE

’file_name.txt’

[REPLACE

¦

IGNORE]

INTO

TABLE

tbl_name

SELECT

...

INTO

OUTFILE

’file_name’

在dos命令提示符下使用mysqldump命令进行备份.

如下:

C:\Documents

and

Settings\Administrator>mysqldump

yinshi

>c:\\backup.txt

-uroot

-p12142022

在老版本的MySQL 3.22中,MySQL的单表限大小为4GB,当时的MySQL的存储引擎还是ISAM存储引擎。但是,当出现MyISAM存储引擎之后,也就是从MySQL 3.23开始,MySQL单表最大限制就已经扩大到了64PB了(官方文档显示)。也就是说,从目前的技术环境来看,MySQL数据库的MyISAM存储 引擎单表大小限制已经不是有MySQL数据库本身来决定,而是由所在主机的OS上面的文件系统来决定了。

而MySQL另外一个最流行的存储引擎之一Innodb存储数据的策略是分为两种的,一种是共享表空间存储方式,还有一种是独享表空间存储方式。

当使用共享表空间存储方式的时候,Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所 以其大小限制不再是文件大小的限制,而是其自身的限制。从Innodb的官方文档中可以看到,其表空间的最大限制为64TB,也就是说,Innodb的单 表限制基本上也在64TB左右了,当然这个大小是包括这个表的所有索引等其他相关数据。

而当使用独享表空间来存放Innodb的表的时候,每个表的数据以一个单独的文件来存放,这个时候的单表限制,又变成文件系统的大小限制了。

一般是不会这么做的,为了达到主从一致,会把主从数据库按主从顺序暂时都停掉,直接把主的数据库文件直接考到从数据库上覆盖同名文件达到一致(怕出错注意备份),然后先启动从机,后启动主机,就OK了。

如果想查询只能通过第三方软件或者自己写程序对比了,mysql不能跨服务器查询的


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/295216.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存