在mysql主从结构的集群_CentOSserverMysql主从复制集群结构

在配置Mysql数据库主从复制集群时间,以确保:

1.主从server操作系统版本号和位数一致。

2.Mysql版本号一致。

为了保证稳定性,最好server操作系统和Mysql数据库环境一致。

CentOSserver上Mysql的安装方法能够參见博客:

server配置:

Master:192.168.1.18

Slave:192.168.1.16

Master(192.168.1.18)server:

1.编辑/etc/my.cnf

[root@jhq0229 ~]# vim /etc/my.cnf

2.配置

[mysqld]

datadir=/data/mysql

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

user=mysql

#主从复制配置

innodb_flush_log_at_trx_commit=1

sync_binlog=1

#须要备份的数据库

binlog-do-db=orders

#不须要备份的数据库

binlog-ignore-db=mysql

#启动二进制文件

log-bin=mysql-bin

#服务器ID

server-id=1

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

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

若没有配置binlog-do-db和binlog_ignore_db,表示备份所有数据库。

3.重新启动Mysqld服务

[root@jhq0229 ~]# service mysqld restart

4.为从Mysql创建用户

登录

[root@jhq0229 ~]# mysql -uroot -p

Enter password:

创建用户

mysql> create user 'mastj'@'192.168.1.16' identified by '123456';

配置主从复制权限

mysql> grant replication slave on *.* to 'mastj'@'192.168.1.16' identified by '123456';

若orders数据库中已经有数据,还须要:

锁定数据库

mysql> flush tables with read lock;

将数据导入到从数据库,方法有多种。我是用Navicat复制的。复制完毕后:

查看master状态并解锁:

mysql> show master status;

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

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

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

| mysql-bin.000003 | 2005 | orders | mysql | |

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

1 row in set (0.00 sec)

mysql> unlock tables;

Slave(192.168.1.16)server:

1.配置服务ID

[root@jhq0113 ~]# vim /etc/my.cnf

在[mysqld]以下增加

server-id=2

重新启动Mysql服务

[root@jhq0113 ~]# service mysqld restart

2.配置复制

登录mysql

[root@jhq0113 ~]# mysql -uroot -p

运行

mysql> change master to master_host='192.168.1.18',

master_user='mastj',

master_password='123456',

master_port=3306,

master_log_file='mysql-bin.000003',

master_log_pos=2005,

master_connect_retry=10;

參数具体解释:

master_host:主server的IP。

master_user:配置主server时建立的username

master_password:用户密码

master_port:主servermysql端口。假设未曾改动,默认就可以。

master_log_file:日志文件名,填写查看master状态时显示的File

master_log_pos:日志位置。填写查看master状态时显示的Position

master_connect_retry:重连次数

启动进程

mysql> start slave;

检查主从复制状态

mysql> show slave status\G

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

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.1.18

Master_User: mastj

Master_Port: 3306

Connect_Retry: 10

Master_Log_File: mysql-bin.000003

Read_Master_Log_Pos: 2369

Relay_Log_File: jhq0113-relay-bin.000002

Relay_Log_Pos: 647

Relay_Master_Log_File: mysql-bin.000003

Slave_IO_Running: Yes

Slave_SQL_Running: Yes若Slave_IO_Running和Slave_SQL_Running均为Yes。则表示连接正常。

在这一点上是可能的测试主从复制。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值