Mysql双机热备配置教程

环境:

Mysql主机192.168.233.128

Mysql备机192.168.233.134

已经编译安装好Mysql。

实验步骤:

分别启动mysql

Servicemysql start

分别给mysql的root帐号设置密码

/usr/bin/mysqladmin-uroot password 'test111';

/usr/bin/mysqladmin-uroot password 'test222';

分别登录到mysql并给远程用户登录权限

mysql-uroot –ptest111;

grantall on *.* to root@'%' identified by 'test111;

grantall on *.* to root@'127.0.0.1' identified by 'test111';

flushprivileges;

备机同上,省略。

分别用Navicat远程连接mysql主机和备机

在mysql主机上随便建一个数据库

在test_databases下用下面查询语句建一个表

CREATETABLE `busi_model` (

  `BUSI_MODEL_ID` bigint(20) NOT NULLAUTO_INCREMENT,

  `BUSI_MODEL_NAME` varchar(100) DEFAULT NULL,

  `INFO_QUERY_LINK` varchar(100) DEFAULT NULL,

  PRIMARY KEY (`BUSI_MODEL_ID`)

)ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

这时会看到有一个busi_model表。

在mysql主机上

编辑主机mysql配置文件/etc/my.cnf,加入下面内容,原来有的就不用添加。

server-id       = 1

binlog-do-db=test_databases

#replicate_ignore_table=btxccbs.com_log

slave-skip-errors=1062

log-bin=mysql-bin

log-slave-updates

第一条ID主、备机不能相同

第二条是要热备的库(可以添加多条,一条都不写是备份所以库),

第三条是不需要热备的表(也可以添加多条,我这里是注释掉)

重启mysql

Servicemysql restart

登录到mysql

mysql-u root -ptest111;

flushtables with read lock;

showmaster status;

将test_databases导出来

mysqldump-uroot -ptest111 --database test_databases > test_databases.sql

登录到mysql,解锁。

mysql-u root -ptest111;

unlocktables;

将test_databases.sql拷到备机的/usr/local下

scptest_databases.sql root@192.168.223.134:/usr/local

登录到mysql,给备机热备的权限。

mysql-uroot -ptest111;

GRANTREPLICATION SLAVE ON *.* TO 'backup'@'192.168.223.134' IDENTIFIED BY '123456';

GRANTFILE,SELECT,REPLICATION SLAVE ON *.* TO 'backup'@'192.168.74.134' IDENTIFIED BY'123456';

flushprivileges;

在mysql备机上

将test_databases.sql导入mysql

mysql-uroot -ptest222 < /usr/local/test_databases.sql

编辑/etc/my.cnf将下面这条ID改成非1整数(主机是1)

server-id       = 2

重启mysql

servicemysql restart

登录到myql,设置同步

mysql-uroot -ptest222;

CHANGEMASTER TO  MASTER_HOST='192.168.74.128',MASTER_USER='backup', Master_Port=3306,MASTER_CONNECT_RETRY=0,MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=1571;

 

slavestart;

showslave status\G;

在Navicat连上mysql主机,在之前建的busi_model表中随便插入些数据,并保存。

在mysql备机看到相同数据。·   

现在是单向热备,下面同样的配置双向热备。

编辑备机mysql配置文件/etc/my.cnf,同样原来有的就不用再添加

server-id       = 2

binlog-do-db=test_databases

#replicate_ignore_table=btxccbs.com_log

slave-skip-errors=1062

log-bin=mysql-bin

log-slave-updates

重启mysql

在备机上给主机备份的权限

mysql-uroot -ptest222;

GRANTREPLICATION SLAVE ON *.* TO 'backup'@'192.168.223.128' IDENTIFIED BY '123456';

GRANTFILE,SELECT,REPLICATION SLAVE ON *.* TO 'backup'@'192.168.223.128' IDENTIFIEDBY '123456';

flushprivileges;

showmaster status;

在主机上

mysql-uroot –ptest111;

CHANGEMASTER TO  MASTER_HOST='192.168.223.134',MASTER_USER='backup', Master_Port=3306,MASTER_CONNECT_RETRY=0,MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=107;

slavestart;

showslave status\G;

在备机插入数据

在主机查看


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值