mysql主从复制

1、环境

centOS 6.2、mysql

2、主从复制操作步骤

2.1、配置master

1)将配置选项添加到my.cnf以配置master

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
port=3306
log-bin=master-bin   //二进制日志产生的所有文件的基本名
log-bin-index=master-bin.index  //二进制索引文件的文件名
server-id=1 服务器ID
2)重启master的msyql使配置生效。

3)在master上创建一个复制用户

create user repl_user; //创建新用户
grant replication slave on *.* To repl_user identified by ‘123456’;  //为新用户添加复制权限
注:my.cnf的默认路径是/etc/my.cnf,如果不是且忘记my.cnf路径,可用find命令来查找

find / -name my.cnf
2.2、 配置slave

1)添加选项到my.cnf文件来配置slave

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
port=3306
basedir=/usr
server-id=2
relay-log-index=slave-relay-bin.index //relay-log-index的默认值是hostname-relay-bin.index
relay-log=slave-relay-bin   //relay-log的默认值是hostname-relay-bin
//使用默认值有个问题,即一旦服务器的主机名改变,将会因为无法找到中继日志索引文件而认为中继日志文件为空
2)重启slave使配置生效。
2.3、 连接master和slave

将slave指向master,让它知道从哪里进行复制。为此需知道master的四部分信息:

主机名

端口号

master上拥有replication slave权限的用户账户

该用户的密码

在slave上执行以下命令:

change master to Master_host = ‘master-1’, Master_port = 3306, Master_user = ‘repl_user’, Master_password = ‘123456’;
start slave;
2.4、 在防火墙打开端口

在防火墙中开放3306端口

iptables -A INPUT -p tcp --dport 21 -j ACCEPT
或者直接在防护墙配置文件/etc/sysconfig/iptables里面改。

上述步骤做完之后用 show slave status \G 命令来查看slave状态,如果slave_IO_Running和slave_SQL_Running都为YES时,主从两机连接成功。

3、无法主从复制的各种情况及解决办法



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值