仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 759|回复: 7
打印 上一主题 下一主题

[学习教程] 公布具体解说MySQL数据库双机热备的设置办法

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-16 20:13:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
而且其固有的弹性使得它易于扩展以处理不断增长的需求,或当需求MySQL学习教程减弱时缩减规模。MySQL数据库双机热备的设置办法:<Pstyle="TEXT-INDENT:2em">◆1.MySQL数据库没有增量备份的机制,当数据量太年夜的时分备份是一个很年夜的成绩。还好MySQL数据库供应了一种主从备份的机制,实在就是把主数据库的一切的数据同时写到备份数据库中。完成MySQL数据库的热备份。<Pstyle="TEXT-INDENT:2em">◆2.要想完成双机的热备起首要懂得主从数据库服务器的版本的需求。要完成热备MySQL的版本都要高于3.2,另有一个基础的准绳就是作为从数据库的数据库版本能够高于主服务器数据库的版本,可是不成以低于主服务器的数据库版本。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">◆3.设置主数据库服务器:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">・a.起首检察主服务器的版本是不是是撑持热备的版本。然后检察my.cnf(类unix)大概my.ini(windows)中mysqld设置块的设置有无log-bin(纪录数据库变动日记),由于MySQL的复制机制是基于日记的复制机制,以是主服务器必定要撑持变动日记才行。然后设置要写进日记的数据库大概不要写进日记的数据库。如许只要您感乐趣的数据库的变动才写进到数据库的日记中。<Pstyle="TEXT-INDENT:2em">server-id=1//数据库的id这个应当默许是1就不必修改<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">log-bin=log_name//日记文件的称号,这里能够制订日记到其余目次假如没有设置则默许主机名的一个日记称号<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">binlog-do-db=db_name//纪录日记的数据库<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">binlog-ignore-db=db_name//不纪录日记的数据库<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">以上的假如有多个数据库用","支解开<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">然后设置同步数据库的用户账号<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysql>GRANTREPLICATIONSLAVEON*.*<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">->TOrepl@%.mydomain.comIDENTIFIEDBYslavepass;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">4.0.2之前的版本,由于不撑持REPLICATION要利用上面的语句来完成这个功效<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysql>GRANTFILEON*.*<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">->TOrepl@%.mydomain.comIDENTIFIEDBYslavepass;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">设置好主服务器的设置文件后从头启动数据库<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">・b.锁定现有的数据库并备份如今的数据<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">锁定命据库<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysql>FLUSHTABLESWITHREADLOCK;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">备份数据库有两种举措一种是间接进进到MySQL的data目次然后打包你必要备份数据库的文件夹,第二种是利用mysqldump的体例来备份数据库可是要加上"--master-data"这个参数,倡议利用第一种办法来备份数据库<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">・c.检察主服务器的形态<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysql>showmasterstatusG;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">+---------------+----------+--------------+------------------+<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">|File|Position|Binlog_Do_DB|Binlog_Ignore_DB|<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">+---------------+----------+--------------+------------------+<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">|mysql-bin.003|73|test|manual,mysql|<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">+---------------+----------+--------------+------------------+<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">纪录File和Position项目标值,由于今后要用。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">・d.然后把数据库的锁定翻开<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysql>UNLOCKTABLES;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">◆4.设置从服务器<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">a.起首设置数据库的设置文件<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">server-id=n//设置数据库id默许主服务器是1能够任意设置可是假如有多台从服务器则不克不及反复。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">master-host=db-master.mycompany.com//主服务器的ip地点大概域名<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">master-port=3306//主数据库的端标语<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">master-user=pertinax//同步数据库的用户<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">master-passWord=freitag//同步数据库的暗码<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">master-connect-retry=60//假如从服务器发明主服务器断失落,从头毗连的工夫差<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">report-host=db-slave.mycompany.com//呈报毛病的服务器<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">b.把从主数据库服务器备份出来的数据库导进到从服务器中<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">c.然后启动从数据库服务器,假如启动的时分没有加上"--skip-slave-start"这个参数则进进MySQL中<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysql>slavestop;//中断slave的服务<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">d.设置主服务器的各类参数<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysql>CHANGEMASTERTO<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">->MASTER_HOST=master_host_name,//主服务器的IP地点<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">->MASTER_USER=replication_user_name,//同步数据库的用户<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">->MASTER_PASSWORD=replication_password,//同步数据库的暗码<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">->MASTER_LOG_FILE=recorded_log_file_name,//主服务器二进制日记的文件名(后面请求记着的参数)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">->MASTER_LOG_POS=recorded_log_position;//日记文件的入手下手地位(后面请求记着的参数)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">e.启动同步数据库的线程<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysql>slavestart;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">检察数据库的同步情形吧。乐成同步!<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">检察主从服务器的形态<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysql>SHOWPROCESSLISTG//能够检察mysql的历程看看是不是有监听的历程<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">假如日记太年夜扫除日记的步骤以下:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">1.锁定主数据库<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysql>FLUSHTABLESWITHREADLOCK;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">2.停失落从数据库的slave<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysql>slavestop;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">3.检察主数据库的日记文件名和日记文件的position<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">showmasterstatus;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">+---------------+----------+--------------+------------------+<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">|File|Position|Binlog_do_db|Binlog_ignore_db|<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">+---------------+----------+--------------+------------------+<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">|louis-bin.001|79||mysql|<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">+---------------+----------+--------------+------------------+<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">4.解开主数据库的锁<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysql>unlocktables;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">5.更新从数据库中主数据库的信息<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysql>CHANGEMASTERTO<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">->MASTER_HOST=master_host_name,//主服务器的IP地点<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">->MASTER_USER=replication_user_name,//同步数据库的用户<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">->MASTER_PASSWORD=replication_password,//同步数据库的暗码<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">->MASTER_LOG_FILE=recorded_log_file_name,//主服务器二进制日记的文件名(后面请求记着的参数)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">->MASTER_LOG_POS=recorded_log_position;//日记文件的入手下手地位(后面请求记着的参数)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">6.启动从数据库的slave<Pstyle="TEXT-INDENT:2em">mysql>slavestart;
为维持生产环境和非生产环境需要不断地投入管理支持费用MySQL学习教程,最终导致客户为数据库资源投入巨额成本。
小女巫 该用户已被删除
沙发
发表于 2015-1-27 18:10:42 | 只看该作者
原来公司用过MYSQL自己也只是建个表写个SQL
第二个灵魂 该用户已被删除
板凳
发表于 2015-2-5 14:37:21 | 只看该作者
记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
海妖 该用户已被删除
地板
发表于 2015-2-12 07:27:23 | 只看该作者
光写几个SQL实在叫无知。
只想知道 该用户已被删除
5#
发表于 2015-3-3 01:20:24 | 只看该作者
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
深爱那片海 该用户已被删除
6#
发表于 2015-3-11 08:47:36 | 只看该作者
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
蒙在股里 该用户已被删除
7#
发表于 2015-3-18 03:16:29 | 只看该作者
大侠们有推荐的书籍和学习方法写下吧。
不帅 该用户已被删除
8#
发表于 2015-3-25 10:46:33 | 只看该作者
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-2 18:13

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表