莫相离 发表于 2015-1-16 22:31:44

MYSQL编程:MySQL手册版本 5.0.20-MySQL同步(二)

由于MySQL数据库已经如此普及,对企业来说它无疑是一个更好的选择。mysql<pstyle="TEXT-INDENT:2em">6.4设置同步<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">以下形貌了怎样疾速设置MySQL同步服务器。假定你盘算同步全体的数据库,而且之前没有设置过。必要封闭master服务器以完玉成部的步骤。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">本章形貌的历程能够用于一个slave的情形,也能够用于多个slave的情形。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">这只是一个最间接设置slave的举措,并非只要一个。比方,已有了master的数据快照(snapshot),master已设置了服务器编号ID(server_id)而且启用了二进制日记,这就无需封闭master大概制止在master上更新数据了。概况请看"6.9ReplicationFAQ"。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">想要完整把握MySQL同步设置,最好把本章全体读完,而且测试在"14.6.1SQLStatementsforControllingMasterServers"和"14.6.2SQLStatementsforControllingSlaveServers"中提到的全体语句。并且要熟习各类同步设置选项,概况请看"6.8ReplicationStartupOptions"。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">注重,这个历程和前面一些同步SQL语句必要有SUPER权限。MySQL4.0.2之前,则是PROCESS权限。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">请确认master和slave上都安装了较近的MySQL版本,且这些版本之间要能兼容,在"6.5ReplicationCompatibilityBetweenMySQLVersions"中列出来了。请确认在最新版本中另有存在成绩,不然不要呈报该bug。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">在master上新加一个帐户,slave才干用它来毗连。这个帐户必需授与REPLICATIONSLAVE权限。假如这个帐户只用于同步(保举这么做),那就没需要授与其他权限了。设定你的域是mydomain.com,想要受权一个帐户repl利用暗码slavepass,同意它能够在域里的任何主机毗连到master上。用GRANT语句来创立帐户:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>GRANTREPLICATIONSLAVEON*.*<pstyle="TEXT-INDENT:2em">->TOrepl@%.mydomain.comIDENTIFIEDBYslavepass;<pstyle="TEXT-INDENT:2em">在MySQL4.0.2之前,用FILE权限来取代REPLICATIONSLAVE:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>GRANTFILEON*.*<pstyle="TEXT-INDENT:2em">->TOrepl@%.mydomain.comIDENTIFIEDBYslavepass;<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">假如盘算在slave上实行LOADTABLEFROMMASTER或LOADDATAFROMMASTER语句,那末必需给该帐户授与附加权限:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">授与全局SUPER和RELOAD权限。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">授与对想要加载的一切表上的SELECT权限。在master上任何没有SELECT权限的表城市被LOADDATAFROMMASTER略过。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">假如只用到MyISAM表,实行FLUSHTABLESWITHREADLOCK语句革新一切表而且制止其他写进:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>FLUSHTABLESWITHREADLOCK;<pstyle="TEXT-INDENT:2em">不要加入实行FLUSHTABLES语句的客户端,以坚持读锁无效(假如加入了,读锁就开释了)。然后从master上获得数据快照。对照复杂的举措就是把数据目次打包紧缩。比方,Unix上的tar,PowerArchiver,WinRAR,WinZip,或Windows上的相似程序。想要用tar来创立一个紧缩包,包含一切的数据库,只需实行以下命令(把目次改成你的实在路径):<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">shell>tar-cvf/tmp/mysql-snapshot.tar.<pstyle="TEXT-INDENT:2em">假如只想打包一个数据库this_db,只需实行命令:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">shell>tar-cvf/tmp/mysql-snapshot.tar./this_db<pstyle="TEXT-INDENT:2em">然后把这个文件拷贝到slave的`/tmp`目次下。在slave上,实行以下命令解开紧缩包(把目次改成你的实在路径):<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">shell>tar-xvf/tmp/mysql-snapshot.tar<pstyle="TEXT-INDENT:2em">大概不必要同步mysql数据库,由于在slave上的权限表和master纷歧样。这时候,解开紧缩包的时分要扫除它。同时在紧缩包中也不要包括任何日记文件,大概`master.info~或`relay-log.info`文件。当在master上的FLUSHTABLESWITHREADLOCK语句还失效时,在master上读取以后二进制文件的文件名及偏移地位:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>SHOWMASTERSTATUS;<pstyle="TEXT-INDENT:2em">+---------------+----------+--------------+------------------+<pstyle="TEXT-INDENT:2em">|File|Position|Binlog_Do_DB|Binlog_Ignore_DB|<pstyle="TEXT-INDENT:2em">+---------------+----------+--------------+------------------+<pstyle="TEXT-INDENT:2em">|mysql-bin.003|73|test|manual,mysql|+---------------+----------+--------------+------------------+对免费版的用户也具有充足的支持服务。在dev.mysql.com上,一个大型的MySQL学习教程强大社区用户和开发者可以讨论所有关于MySQL的事情。这个站点拥有博客、指南、视频、技术交流会、白皮书和论坛等方式的交流。

变相怪杰 发表于 2015-1-19 16:10:23

作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!

爱飞 发表于 2015-1-25 15:50:54

SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)

仓酷云 发表于 2015-2-3 06:04:35

连做梦都在想页面结构是怎么样的,绝非虚言

兰色精灵 发表于 2015-2-8 19:52:17

可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。

再见西城 发表于 2015-2-26 00:14:10

我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力

小魔女 发表于 2015-3-8 10:45:56

连做梦都在想页面结构是怎么样的,绝非虚言

精灵巫婆 发表于 2015-3-15 22:08:32

大侠们有推荐的书籍和学习方法写下吧。

若天明 发表于 2015-3-22 06:08:16

SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
页: [1]
查看完整版本: MYSQL编程:MySQL手册版本 5.0.20-MySQL同步(二)