中文参考手册---19用MySQL解决一些常见问题

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

19.1复制

一方面复制可以用来增加健壮性和速度。对健壮性,你有2个系统,而如果你出了问题,切换到备份即可。额外的速度通过把非更新查询的一部分送到复制服务器来达到。当然,这只在非更新查询为主时有用,但是这正是一般的情形。

一方面复制计划在不久的未来实现。这将被实现,使得从服务器将以较低优先级的更新和延迟插入被同步到最新数据(这将给读者以比写者更高的优先级)。

MySQL(至今)没有数据库复制,但是有一些如何实现的信息。

复制一个数据库最一般的方法是使用更新日志。见。这要求充当一个主数据库(进行数据改变的)并且另一个或多个充当从数据库。要更新一个从数据库,只要运行。提供对于从数据库适当的主机、用户和口令选项,并且将主数据库的更新日志作为输入。

如果你从未从一张表中删除任何东西,你可以使用一个列找出自上一次复制以来(通过比较作你上次做复制的时间)表中哪个行被插入和被改变,且仅拷贝这些行到镜像中。

有可能使用更新日志(对删除)和时间戳记(在两端)做成一个双向更新系统统,但是在这种情况下,当同一数据在两端被改变时,你必须能处理冲突。你可能想保持旧版本以帮助决定什么被更新了。

因为在这种情况中复制用SQL语句进行,你不应该在更新数据库的语句中使用下列函数;他们不能返回与原数据库相同的值:,

所有的时间函数可地使用,比如如果需要,时间戳记被送到镜像。也可安全地使用。

因为MySQL表作为文件存储,做一个备份是容易的。为了得到一个一致的备份,在相关的表上做一个。见7.24句法。你只需一个读锁定;当你在数据库目录中做文件的一个拷贝时,这允许其他线程继续查询该表。如果你想要做一个SQL级的备份,你可以

备份一个数据库的另一个方法是使用程序:

  1. 为你的数据库做一个完整的备份:
shell>MySQLdump--tab=/path/to/some/dir--opt--full

你也可以简单地拷贝所有的表文件(文件),只要服务器不在更新任何东西。

停止如果它正在运行,然后以选项启动它。你将得到一个名为“hostname.n”形式的日志文件,这里是随着你每次执行语句、或重启服务器而递增的一个数字。这些日志文件向你提供了在你执行处后面进行的复制数据库改变的所需信息。

如果你必须恢复一些东西,尝试首先用恢复你的表。这应该处理所有情况的99.9%。如果失败,尝试下列过程:

  1. 恢复原来的
备份。执行下列命令以再次运行更新日志中的更改:
shell>ls-1-t-rhostname.[0-9]*|xargscat|MySQL

被用来以正确的顺序得到所有的日志文件。

你也可以与做有选择的备份并且用恢复。为了避免重复记录,在表中你需要一个键。当在唯一键值上一个新记录与一个老记录重复时,关键词使得老记录用一个新记录替代。

有些情况下你可能想要在同一台机器上运行多个服务器。例如,你可能想要测试一个新的MySQL版本而让你现有生产系统的设置不受到干扰,或你可能是想要为不同的客户提供独立的MySQL安装一个因特网服务供应商。

如果你想要运行多个服务器,最容易的方法是用不同的TCP/IP端口和套接字文件重新编译服务器,因此他们不是侦听同一个TCP/IP端口或套接字。共2页  第1页 
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
阅读更多
个人分类: 数据库
想对作者说点什么? 我来说一句

Mysql中文参考手册

2008年10月28日 849KB 下载

MySQL 5.1中文参考手册.chm

2016年01月05日 1.58MB 下载

mysql最新参考手册5.7

2016年10月25日 30.98MB 下载

Mysql 5.7最新参考手册

2014年08月03日 25.21MB 下载

MySQL中文参考手册(2015_最新教程)

2015年12月17日 13.39MB 下载

MySQL-8.0-参考手册

2018年02月09日 35.84MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭