mysql主从复制教程linux,linux下实现mysql的主从复制

准备材料:

一: windows环境下的navicat,vmware;

二:两台虚拟主机a和b。

a:centos7;mysql5.7[用作主数据库]; ip:192.168.149.132;

b:centos7;mysql5.7[用作从数据库] ; ip:192.168.149.133 ;

主从配置步骤:

1:在两台mysql里各新建一个名为test的数据库。

2 : 在主数据库里创建一个同步账号。

1)每个从数据库会使用一个MySQL账号来连接主数据库,所以我们要在主数据库里创建一个账号,并且该账号要授予 REPLICATION SLAVE 权限,你可以为每个从数据库分别创建账号,不过为了方便我们可以同一个)

2)你可以用原来的账号不一定要新创账号,但因为这个账号和密码会被明文存放在master.info文件中,因此建议单独创一个只拥有相关权限的账号,以减少对其它账号的危害!)

3)创建新账号使用“CREATE USER”,给账号授权使用“GRANT”命令,如果你仅仅为了主从复制创建账号,只需要授予REPLICATION SLAVE权限。

4)下面来创建一个账号,账号名:user001,密码:Mypassword1![注意:这里采用的是默认的密码规则,所以必须要有大小写数字以及特殊符号],只允许192.168.149.*的IP段登录,如下: mysql> CREATE USER 'user001'@'192.168.149.%' IDENTIFIED BY 'Mypassword1!'; mysql> GRANT REPLICATION SLAVE ON *.* TO 'user001'@'192.168.149.%';

5) 开通防火墙3306端口(centos7默认防火墙为firewall不是iptables),如下:firewall-cmd --zone=public --add-port=3306/tcp --permanent;firewall-cmd --reload

配置主数据库:

1:根目录下cd etc>> vi my.cnf 打开mysql配置文件;

2:在 【mysqld】节点下添加如下配置:log-bin=mysql-bin server-id=132

3:可以通过是否打开如下的配置来实现对数据库的选择:#binlog-do-db=test //要同步的test数据库。如要同步多个数据库,就多加几个replicate-db-db=数据库名 ;#binlog-ignore-db=mysql //要忽略的数据库

4:登陆mysql,并查看主数据库状态:show master status;

f245622e2d2f

mysql.jpg

【记录好file值和position值,配置从数据库时要用到】

提示1:如果你不配置server-id或者配置值为0,那么主服务器将拒绝所有从服务器的连接。

提示2:在使用InnoDB的事务复制,为了尽可能持久和数据一致你应该在my.cnf里配置 sync_binlog=1;innodb_flush_log_at_trx_commit=1

提示3:要配置主数据库,你必须要启用二进制日志(binary logging),并且创建一个唯一的Server ID,这步骤可能要重启MySQL。主服务器发送变更记录到从服务器依赖的是二进制日志,如果没启用二进制日志【也即第2步的首个配置项】,复制操作不能实现(主库复制到从库

提示3:复制组中的每台服务器都要配置唯一的Server ID,在这里我选择使用ip的最后一组数字来做区分。

配置从数据库:

1:根目录下cd etc>> vi my.cnf 打开mysql配置文件;

2:在 【mysqld】节点下添加如下配置: server-id=133

3:登入mysql,依次敲入命令stop slave>> CHANGE MASTER TO MASTER_HOST='192.168.149.132', MASTER_USER='user001', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=2680;>> start slave;

4:此时,主从配置已经完成。你可以自行在主数据库test里进行curd,然后在从数据库里查看相应变化。

提示1:replicate-do-db = test //若在master端不指定binlog-do-db,在slave端可在my.cnf里用replication-do-db来选择实现读写分离的数据库。replicate-ignore-db = mysql #忽略的库

读写分离

主从复制是读写分离的基础。而现在的php框架一般都整合了读写分离的配置,参考其文档进行配置即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值