当前位置: 主页 > 环境部署 > 数据库 >

MYSQL 主从复制配置 主主复制配置

时间:2013-05-04 20:28来源:www.shencan.net 作者:shencan 点击:
这篇文章讲讲mysql 的主从(主主原理跟主从一样 但是有个东西得注意下 不然成死循环了) 关于mysql主从复制的原理 就 不多讲了 马哥的mysql视频讲得很详细 这里直接来配置 1.安装 useradd
欢迎大家分享自己的文档,请点击查阅:分享方法,Linux系统运维
如果你喜欢这文章,可以点击文章结尾处百度分享,分享到你的各种社区收藏,或推荐给朋友……


这篇文章讲讲mysql 的主从(主主原理跟主从一样 但是有个东西得注意下 不然成死循环了)

关于mysql主从复制的原理 就 不多讲了    马哥的mysql视频讲得很详细 这里直接来配置

1.安装

useradd mysql

yum install cmake -y  #其他的自己选择安装

wget http://fossies.org/linux/misc/mysql-5.5.31.tar.bz2  && tar fxj mysql-5.5.31.tar.bz2  && cd mysql-5.5.31 && cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DMYSQL_USER=mysql -DMYSQL_DATADIR=/data/mysql/  -DDEFAULT_COLLATION=utf8_general_ci && make && make install

cp support-files/my-medium.cnf /etc/my.cnf

cp support-files/mysql.server /etc/init.d/mysql  && scripts/mysql_install_db –user=mysql  && /usr/local/mysql/bin/mysqld_safe &

2.配置

主的配置

server-id = 1

log-bin=mysql-bin  #开启 log-bin
binlog-do-db=test  #需要同步的database
binlog-ignore-db=mysql#不需要同步的database
sync_binlog=1  #binlog更新的时候写入磁盘

从配置

server-id = 2

log-bin=mysql-bin
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
sync_binlog=1

在主上授权

登录mysql (有密码的输入密码)

use mysql;

grant replication slave,file on *.* to ’cange’@’192.168.0.254′ identified by ’canshifu’;

flush privileges;

show master status\G;

在从库指定用户连接主库

stop slave;

mysql> change master to master_host=’192.168.0.253′,master_user=’cange’,master_password=’canshifu’, master_log_file=’mysql-bin.000009′,master_log_pos=317;

start slave;

查看

然后测试下

在主库test database里面建个表

create table shencan ( id int(4) not null primary key auto_increment, name char(20) not null, sex int(4) not null default ’0′, degree double(16,2));

然后到从库去确认下 是否同步过去

OK 了    主从搞定了.

下面来搞搞 主主

关于主主的话 配置需要修改下 因为刚才 我在主上只允许写bin-log了  从是配置了replicate  现在互为主主的话  都要开启bin-log跟replicate了

除了 server id 不同外  都改成下面这样

log-bin=mysql-bin
binlog-do-db=test            #写binlog的配置
binlog-ignore-db=mysql
replicate-do-db=test       #读取replicate日志的配置
replicate-ignore-db=mysql
log-slave-updates
sync_binlog=1

auto_increment_offset=2

auto_increment_increment=2

slave-skip-errors=all

环境 我接着上面的来   现在主要做的是   在从上建一个授权用   让主来连接

grant replication slave on *.* to ’cange2′@’192.168.0.253′ identified by ’canshifu’;

flush privileges;

查看主状态

mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000012
Position: 107
Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)

 

然后到从(刚才的主)来连接 主(刚才的从)

mysql> change master to master_host='192.168.0.254',master_user='cange2',master_password='canshifu',master_log_file='mysql-bin.000009',master_log_pos=107;
Query OK, 0 rows affected (0.01 sec)

然后启动 slave进程

mysql> start slave;
Query OK, 0 rows affected (0.01 sec)

mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.0.254
Master_User: cange2
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000009
Read_Master_Log_Pos: 107
Relay_Log_File: CAN-GE-3-relay-bin.000002
Relay_Log_Pos: 253
Relay_Master_Log_File: mysql-bin.000009
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

 

 

现在 互为主主基本搭建完了   我们来测试下

在刚才的从上  test 数据库内再建一个表 shencan1 (shencan表 刚才从主同步过去的)  然后 到 从(刚才的主)上看看 数据能同步过来没.

先建个表shencan1

mysql> create table shencan1 ( id int(4) not null primary key auto_increment, name char(20) not null, sex int(4) not null default '0', degree double(16,2));
Query OK, 0 rows affected (0.01 sec)

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| shencan        |
| shencan1       |
+----------------+
2 rows in set (0.00 sec)

 

然后到 从(刚才的主) 看看同步过来没.
mysql> use test;
Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| shencan        |
| shencan1       |
+----------------+
2 rows in set (0.00 sec)

 

OK 了  没问题;

总结下    主从同步的原理 大家清楚后  整个过程 配置跟实现 都比较容易了  因为我这个是在实验环境 可能别人做主从的过程中 有锁表等过程 还是那就 弄懂原理了  就知道为啥这样做了..

转载请注明linux系统运维
http://www.linuxyw.com/linux/shuju/20130504/152.html

------分隔线----------------------------
  • 上一篇:没有了
  • 下一篇:没有了
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
栏目列表
推荐内容