mysql主从和双主_mysql主从复制及双主复制

之前做过一次在单台机器上的多实例的mysql,这次分开做,使用两台主机。

这里使用的主机地址分别为:

MASTER:192.168.214.135

SLAVE  : 192.168.214.128

这两个主机已经安装过mysql,但是两个数据库数据不一样

主从复制大致步奏

配置MySQL复制基本步骤:

一、master

1、启用二进制日志

log-bin = master-bin

log-bin-index = master-bin.index

2、选择一个惟一server-id

server-id = {0-2^32}

3、创建具有复制权限的用户

REPLICATION SLAVE

二、slave

1、启用中继日志

relay-log = relay-log

relay-log-index =

2、选择一个惟一的server-id

server-id = {0-2^32}

3、连接至主服务器,并开始复制数据;

mysql> CHANGER MASTER TO MASTER_HOST='',MASTER_PORT='',MASTER_LOG_FILE='',MASTER_LOG_FIEL_POS='',MASTER_USER='',MASTER_PASSWORD='';

mysql> START SLAVE;

mysql> START SLAVE IO_Thread;

mysql> START SLAVE SQL_Thread;

下面检查主服务器MASTER的数据库配置文件

[mysqld]

port= 3306

socket= /tmp/mysql.sock

skip-external-locking

key_buffer_size = 256M

max_allowed_packet = 1M

table_open_cache = 256

sort_buffer_size = 1M

read_buffer_size = 1M

read_rnd_buffer_size = 4M

myisam_sort_buffer_size = 64M

thread_cache_size = 8

query_cache_size= 16M

thread_concurrency = 8

datadir=/mydata/data

log-bin=master-bin

log-bin-index=master-bin.index

binlog_format=mixed

#relay-log = relay-mysql

#relay-log-index = relay-mysql.index

#auto-increment-increment = 2

#auto-increment-offset = 1

server-id= 1

下面配置SLAVE的配置文件

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysqldata

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

server-id = 2

relay-log = relay-log

relay-log-index = relay-log.index

主从数据库的其他配置项有所不同,这里先不管

一: 上面主从库的配置文件都设置好后,登录到MASTER库上,创建一个具有复制权限的用户

grant replication slave on *.* to 'feng'@'192.168.%.%' identified by 'fsz123';

flush privileges;

slave添加master信息前先查看master库的bin-log日志记录位置节点,master库中执行:

mysql> show master status;

+-------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+-------------------+----------+--------------+------------------+

| master-bin.000029 | 107 | | |

+-------------------+----------+--------------+------------------+

1 row in set (0.01 sec)

二:登录从库SLAVE 添加master信息

mysql> change master to master_host='192.168.214.135',master_user='feng',master_password='fsz123',master_log_file='master-bin.000029',master_log_pos=323;

Query OK, 0 rows affected (0.15 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

三:启动从库复制:

mysql> SLAVE START;

执行: show  slave  status\G 查看复制状态

mysql> show slave status\G

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.214.135

Master_User: feng

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: master-bin.000029

Read_Master_Log_Pos: 323

Relay_Log_File: relay-log.000002

Relay_Log_Pos: 254

Relay_Master_Log_File: master-bin.000029

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

从库的IO线程和SQL线程已经开启

下面执行show databases; 查看数据库同步状况

查看从库的数据信息

Database |

+--------------------+

| information_schema |

| demo |

| demo222 |

| demo333 |

| mysql |

| performance_schema |

| test

主库里新建的demo222,demo333已经到从库中

//

mysql的双主模式配置

在上面的基础上,再增加双主复制的实现,实现双主模式,在从库中也要开启二进制日志文件,同时主库中也增加slave中继日志功能

编辑从库my.cnf

log-bin=master-bin

log-bin-index=master-bin.index

binlog_format=mixed

relay-log = relay-mysql

relay-log-index = relay-mysql.index

auto-increment-increment = 2

auto-increment-offset = 2

编辑主库my.cnf 添加slave日志

log-bin=master-bin

log-bin-index=master-bin.index

binlog_format=mixed

auto-increment-increment = 2   #步进值auto_imcrement。一般有n台主MySQL就填n

auto-increment-offset = 1 #步进值auto_imcrement。一般有n台主MySQL就填n

#binlog-ignore=mysql   #忽略mysql库【或者其他不需同步复制的库】

# replicate-do-db=aa   #要同步的数据库,默认所有库【或者其他指定复制的库】

relay-log = relay-mysql

relay-log-index = relay-mysql.index

在主库中执行change master to 指令

change master to master_host='192.168.214.128',master_user='feng',master_password='fsz123',master_log_file='master-bin.000001',master_log_pos=107;

mysql> flush privileges;

启动主库中的复制功能

start   slave;

此时,mysql双主复制完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值