mysql互备_mysql双机互备

花了大半天的时间研究mysql 5.0.* ,参考了很多文档,总算将mysql的双机热备给搞定了。心情很好,写个文章纪念一下。因为以后还可能实际用到,所以也作以下笔记。

使用两台虚拟机,nod1和nod2,分别设置两块网卡,桥接到主机网卡上。

nod1 eth0:192.168.145.162

eth1:192.168.254.1

nod2 eth0:192.168.145.168

eth1:192.168.254.2

1.基础安装mysql.

首先干净的系统,不是干净的系统不要紧,反正自己搞明白就行了。在nod1上安装mysql.

yum -y install mysql-server

chkconfig mysqld on

service mysqld start

mysqladmin -uroot password’1q2w3e’修改root密码。

nod2上同样方式安装mysql,并做如上操作。

2.nod1上mysql的设置。

在这里我就用test数据库来做测试,在test数据库里新建一个data表,并添加一些数据,具体操作如下:

#mysql -uroot -p1q2w3e

mysql> create table data(name VARCHAR(20), address VARCHAR(50), phoneVARCHAR(20));

mysql>insert into data(name,address,phone)values(‘johnson’,’shanghai’,’135000000′);

mysql>select * from data;

+———+———-+———–+

| name | address | phone |

+———+———-+———–+

| johnson | shanghai | 135000000 |

+———+———-+———–+

1 row in set (0.01 sec)

设置数据库同步帐户:

mysql>GRANT REPLICATION SLAVE,REPLICATION CLIENT,RELOAD,SUPER ON *.* TO‘backup’@’192.168.254.2′IDENTIFIED BY ‘qawsed’;

(授与从192.168.254.2主机上登录用户backup数据复制权限,4.02版本以前用:GRANT FILE ON *.* TO backup@192.168.254.2 IDENTIFIED BY ‘qawsed’;)

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服务

service mysqld stop

在[mysqld]中加入以下内容

server-id=1 #设置服务器的ID号

log-bin #设置同步log

binlog-do-db=test #设置同步数据库

max_binlog_size=104857600

replicate-same-server-id

master-host=192.168.254.2 #主机IP

master-user=backup

master-password=qawsed

master-port=3306

master-connect-retry=60 #断点重试间隔为60秒

replicate-do-db=test #表示同步test数据库

binlog-ignore-db=mysql #不同步的数据库

# service mysqld start //先启动mysql

# mysqldump -h localhost -u root -p1q2w3e test >test.sql

#scp test.sql root@192.168.2542:/ //(将test.sql复制到mysqlB的/目录下)

至此nod1服务器上有关mysql的设置已完成,下一步开始配置nod2

设置nod2

设置数据库同步帐户:

mysql>GRANT REPLICATION SLAVE,REPLICATION CLIENT,RELOAD,SUPER ON *.* TO‘backup’@’192.168.254.1′IDENTIFIED BY ‘qawsed’;

(授与从192.168.254.1主机上登录用户backup数据复制权限,4.02版本以前用:GRANT FILE ON *.* TO backup@192.168.254.1 IDENTIFIED BY ‘qawsed’;) mysql>flush privileges; 修改配置文件: 停止mysql服务 #service mysqld stop 更改Mysql配置文件/etc/my.cnf # vi /etc/my.cnf server-id=2 #设置服务器的ID号 log-bin #设置同步log binlog-do-db=test #设置同步数据库 max_binlog_size=104857600 replicate-same-server-id master-host=192.168.254.1 #主机IP master-user=backup master-password=qawsed master-port=3306 master-connect-retry=60 #断点重试间隔为60秒 replicate-do-db=test #表示同步test数据库 binlog-ignore-db=mysql #不同步的数据库 还原从mysqlA备份过的test.sql #service mysqld start # mysql -u root -p1q2w3e test 重启两边的mysql服务 查询配置 Show Slave status:此处Slave_IO_Running ,Slave_SQL_Running 都应该是yes,表示从库的I/O,Slave_SQL线程都正确开启. 在Mysql中可通过以下命令来查看主从状态 show master status 查看master状态 show slave status 查看slave状态 show processlist G 查看当前进程 stop slave 暂时停止slave进程 start slave 开始slave进程 在primary服务器上 MySQL命令符下输入: mysql>show master status; +——————-+———-+————–+——————+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +——————-+———-+————–+——————+ | mysqld-bin.000001 | 196 | test | mysql | +——————-+———-+————–+——————+ 1 row in set (0.00 sec) mysql>show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.254.1 Master_User: backup Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysqld-bin.000001 Read_Master_Log_Pos: 235 Relay_Log_File: mysqld-relay-bin.000003 Relay_Log_Pos: 236 Relay_Master_Log_File: mysqld-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: test Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 235 Relay_Log_Space: 236 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 1 row in set (0.01 sec) Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: test 表示正常! 到此mysql的双机互备已基本完成,在两台服务器的mysql数据库中任意添加数据,都可以同步到对端服务器上。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值