mysql双机热备设置_Mysql 双机热备 设置策略

本文详细介绍了MySQL主从同步的配置步骤,包括在主服务器和从服务器上修改my.cnf文件,设置同步数据库,创建授权账号,以及处理同步过程中可能出现的问题。涉及的关键操作包括GRANT REPLICATION SLAVE,SHOW MASTER STATUS,CHANGE MASTER TO等,确保了数据的一致性和高可用性。
摘要由CSDN通过智能技术生成

可以替换的配置变量 Master:219.245.87.10 slave的授权账号:backup slave的授权账号密码:zlb@cnis master的同步数据库:lian   --------------------------------------------------------------------------------------------------------------- /etc/init.d/iptalbes start  开启命令 /etc/init.d/iptables restart   重启命令   1.修改my.cnf (1)在[mysqld]后加入:   server-id=1 #同步事件的日志记录文件,最好不要写参数,默认为 log-bin=mysql-bin.000001 log-bin=  #提供数据同步服务的数据库,多个用逗号分开。在slave 端配置即可 binlog-do-db=lian #要忽略的数据库  binlog-ignore-db=mysql    (2)屏蔽下面的设置,打开远程连接 #bind-address           = 127.0.0.1     2.可以导出要同步的数据库给slave初始化用.   2.1 适用于两个已存在的数据库 mysqldump [OPTIONS] database [tables] mysqldump -u root -p backup_db > backup_db.txt;//导出backup_db库  恢复时使用: mysql>create database backup_db; mysql>use backup_db; mysql>source /var/www/db.txt    //win下可能需要 db.txt    //导出全部 mysqldump -u root -p --databases DB1 DB2 DB2_table1 >db.txt   2.2 适用于slave为新的数据库   适合于新建数据库的情况,特别适合于 master 与 slave 在 my.cnf 已经设置好 replication 关系 (但未指定 database 同步数据库 ) 的情况: 这就是使用 mysql 的 sql 语句 load table from master 与 load data from master;    load table from master 可以从 master 数据库把表结构复制到 slave 数据库中,这样可以建立同步的表。    load data from master 是从 master 数据库把数据导入到 slave 数据表中,条件是 master 从一开始安装运行就使用了 bin-log 参数而保存有二进制日志      3.给slave建立的授权登录帐号 mysql>GRANT REPLICATION SLAVE,REPLICATION CLIENT,RELOAD,SUPER ON *.* TO backup@219.245.87.10 IDENTIFIED BY 'zlb@cnis';   mysql> flush privileges; mysql> select user,host from user; +——–+——————+ | user | host | +——–+——————+ | root | 127.0.0.1 | | backup | 192.168.254.2 | | | localhost | | root | localhost | | | nod1.test.domain | | root | nod1.test.domain | +——–+——————+ 6 rows in set (0.01 sec)    (为强安全选项,权限少。mysql>GRANT REPLICATION SLAVE ON *.* TO backup@219.245.87.10 IDENTIFIED BY 'zlb@cnis';)   注意:backup,1234为slave的登录帐号   4.重启mysql, mysql>show master status /G *************************** 1. row ***************************             File: mysql-bin.000001         Position: 98     Binlog_Do_DB: lian Binlog_Ignore_DB: mysql 1 row in set (0.00 sec)       Slave:10.10.10.22 slave做更新的数据库:lian --------------------------------------------------------------------------------------------------------------- 1.修改my.cnf (1)在[mysqld]后加入:   server-id=2 # 如果有多个 slave 就改为不重复的 id 就好,在mysql 4.1 中,这个已经取消了    master-host=10.10.10.22    master-user=backup #同步用户帐号    master-password=zlb@cnis   master-port=3306    master-connect-retry=60 #预设重试间隔60秒    replicate-do-db=lian # 告诉slave只做 test 数据库的更新    bin-log =  (2)可选;双向备份时必须!屏蔽下面的设置,打开远程连接, #bind-address           = 127.0.0.1   2.导入目标数据库 2.1 恢复时使用: mysql>create database backup_db; mysql>use backup_db; mysql>source /var/www/db.txt    //win下可能需要slave start; mysql>show slave status /G   =============确保=============== Slave_IO_Running: Yes Slave_SQL_Running: Yes   ############################################################################################################## 1. master 与 slave 有相同的初始数据记录,保证同步操作开始后两者数据一致  2. master 必须使用 bin-log 二进制日志记录 ( 推荐 slave 也使用 bin-log )  3.当有错误产生时检查slave的data目录下*.err日志文件。此时同步的线程退出 4.如果你用 linux / unix 操作系统,那一定要注意一下防火墙 firewall  有没有限制 mysql 远程访问,如果是,最好是打开远程访问端口,并作好访问 ip 限制    5. slave 是从 master 的 bin-log 是读取 sql 记录来同步,所以,从哪一条 log 开始读取很重要  这样即执行了手工同步 6.程序可能在slave上进行了写操作 7.也可能是slave机器重起后,事务回滚造成的.   手工同步方法 ----------         1.首先停掉Slave服务:slave stop         2.到主服务器上查看主机状态:         记录File和Position对应的值。         mysql> show master status /G                 File: log-test.000003             Position: 98           3.到slave服务器上执行手动同步:         mysql>change master to         master_host='202.117.113.138',         master_user='backup',         master_password='1234',         master_port=3306,         master_log_file='log-test.000003',         master_log_pos=98;           4.开启slave服务并测试:         mysql> slave start;         1 row in set (0.00 sec)         再次查看slave状态发现:         Slave_IO_Running: Yes         Slave_SQL_Running: Yes         ...         Seconds_Behind_Master: 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值