Centos7+MysqL5.7实现主从复制
在生产用途中为了实现更大的吞吐和高可用可能会对数据库做主从复制或者集群,我们先从主从复制说起。
一、安装配置MysqL7:
-安装MysqL7: http://blog.csdn.net/jiaoshenmo/article/details/50964280
安装好MysqL之后启动:
service MysqLd start
@H_301_14@查看MysqL初始密码:
cat /var/log/MysqLd.log | grep ‘password’
@H_301_14@
图片描述" title="" src="http://img.blog.csdn.net/20160418171000377">
连接MysqL:MysqL -u root -p
@H_301_14@ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’ PASSWORD EXPIRE;
@H_301_14@如果没有修改可以用:
SET PASSWORD = PASSWORD(‘新密码’);
@H_301_14@
图片描述" title="" src="http://img.blog.csdn.net/20160418173509129">
开通防火墙3306端口(centos7默认防火墙为firewall不是iptables)[root@localhost ~]# firewall-cmd �add-port=3306/tcp
@H_301_14@
[root@localhost ~]# firewall-cmd �permanent �add-port=3306/tcp
[root@localhost ~]# firewall-cmd �reload success
现在你的mysq已经可以正常使用啦!二、配置主从:
我这有三台安装好MysqL的服务器,一台做master,另外两台为slave:
master:10.99.123.14
@H_301_14@
slave:10.99.123.15
slave:10.99.123.16master配置:
找到MysqL配置文件my.cnf在末尾加上:log-bin=MysqL-bin #slave会基于此log-bin来做replication
@H_301_14@
server-id=1 #master的标示
innodb_flush_log_at_trx_commit=1
sync_binlog=1slave配置:
找到MysqL配置文件my.cnf在末尾加上:server-id=2 #slave的标示 ,10.99.123.15配置
@H_301_14@
server-id=3 #slave的标示 ,10.99.123.16配置在master中增加用于数据同步的账户:
grant replication slave on . to 用户名@% identified by ‘密码’
@H_301_14@在master中查看Master status
show master status;
@H_301_14@
图片描述" title="" src="http://img.blog.csdn.net/20160418180726942">
配置slave:stop slave;
@H_301_14@
change master to
master_user=’repl_user’,master_password=’Lxznds@01’,master_host=’10.99.123.14’,master_port=3306,master_log_file=’localhost-bin.000001’,master_log_pos=36884979;
start slave;测试已经可以使用,单条数据的变化秒同步,批量导入70W数据,两台slave同步一共占用不到6分钟。