MySQL5.6 主从复制(简单版)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL5.6 主从复制(简单版),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3403字,纯文字阅读大概需要5分钟。
内容图文
操作系统:Centos7.1
数据库:mysql-5.6.30
主host:172.17.220.145
从host:172.17.220.220
第二步:设置防火墙
Centos7.1默认防火墙为firewalld,需要通过yum安装iptables-service
分别在主从服务器中:
vi /etc/sysconfig/iptables
在“-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT”后增加
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
systemctl start iptables.service
第三步:修改主数据库的配置文件my.cnf
server-id=145(主服务器的ID值,建议为ip最后一段)
log_bin = /opt/mysql/data1/mysql-bin.log(二进制日志)
log_slave_updates = 0 (0表示slave将复制事件写进自己的二进制日志)
binlog_format=MIXED (二进制日志类型)
第四步:修改从数据库的配置文件my.cnf
server-id=224
log_bin = /opt/mysql/data1/mysql-bin.log(如果该slave为其他slave的master,必须开启二进制)
#relay_log=
read_only=1 (防止从库修改数据,从库只读)
log_slave_updates = 1
第五步:创建master用户
登录主数据库
mysql> GRANT REPLICATION SLAVE ON *.* TO ‘mypri‘@‘172.17.220.145‘ IDENTIFIED BY ‘123456’;
第六步:重启主从数据库
service mysql restart
第七步:假如主库存在数据
5.1 先对主库锁表,不让数据再进行写入
mysql> flush tables with read lock;
5.2 主库 mysqldump -uroot -p --all-databases >all.sql(导出所有数据库)
5.3 若从库不存在数据,则导入all.sql到从库
mysql -uroot -p <all.sql
从库本身存在数据,先备份从库,再删除从库中的数据,仅保留mysql、information_schema、performance_schema
5.4 主数据库 unlock read
5.5 主数据库 show master status; 获取master_log_file与master_log_pos
第八步: 从服务器slave启动
change master to master_host=‘172.17.220.145‘,
master_user=‘mypri‘,
master_password=‘123456‘,
master_log_file=‘mysql-bin.000021‘,(show master status获取)
master_log_pos=1212, (show master status获取)
master_connect_retry=60;(超时重连)
启动slave:start slave;
show slave status\G 验证是否成功
成功与否主要看:
Slave_IO_Running=Yes
Slave_SQL_Running=Yes
错误信息:
1. slave have equal MySQL Server UUIDs
这个问题的主要原因是本人进行了虚拟机复制,导致主从数据库的server_id或server_uuid一致
查看server_id:show variables like ‘server_id‘;
查看server_uuid:show variables like ‘server_uuid‘;
server_id一致,修改my.cnf文件
server_uuid一致
删除从库中的$data_path/data/auto.cnf
然后重启从库
查看主库上的几个重要参数:
show variables like ‘%autocommit%‘; 自动提交是否开启
show variables like ‘%innodb_flush_method%‘; innodb引擎的表刷新方式 O_DIRECT
show variables like ‘%sync_binlog%‘;
sync_binlog=0:不主动刷新二进制日志文件的数据到磁盘上,由操作系统决定
sync_binlog=N:向二进制日志文件写入N条SQL或N个事务后,二进制日志文件的数据刷新到磁盘上;
本文出自 “大废” 博客,请务必保留此出处http://bigtrash.blog.51cto.com/8966424/1825959
MySQL5.6 主从复制(简单版)
标签:服务器 数据库 配置文件
本文系统来源:http://bigtrash.blog.51cto.com/8966424/1825959
内容总结
以上是互联网集市为您收集整理的MySQL5.6 主从复制(简单版)全部内容,希望文章能够帮你解决MySQL5.6 主从复制(简单版)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。