mysql主从同步
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql主从同步,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3352字,纯文字阅读大概需要5分钟。
内容图文
![mysql主从同步](/upload/InfoBanner/zyjiaocheng/449/f1ab1708efd6408791b7e85cbe117f48.jpg)
一.mysql主从同步
方案:一主一从
一主多从
主从(主)从
master slave
172.30.13.8 数据库服务 172.30.13.191 数据库服务
slave角色的数据库服务器上一定要有主数据库服务器上的库、表 表结构一致
(从数据库服务器一定要有主数据库服务器的库和表)
1.配置master数据库服务器
1.1 开启binlog 日志(必须启用)
1.2 授权用户可以从 slave 数据库服务器连接自己 有拷贝数据的权限
mysql -uroot -p999
grant replication slave on *.* to plj@"172.30.13.191" identified by "321";
show master status; //查询配置slave时所需的log相关信息
1.3 指定自己server_id值 (范围:0-255)
[root@mail ~]# cat /etc/my.cnf
[mysqld]
log-bin=plj
server_id=8
[root@mail ~]# service mysql restart
配置slave数据库服务器
1 指定自己server_id值
2 开启binlog 日志(可选项)
[root@svr5 Desktop]# cat /etc/my.cnf
[mysqld]
log-bin
server_id=191
[root@svr5 Desktop]# service mysql restart
show master status; //查看当前使用的binlog日志信息
3 指定自己做谁的从数据库服务器
mysql -uroot -p123
mysql> change master to
-> master_host="172.30.13.8",
-> master_user="plj",
-> master_password="321",
-> master_log_file="plj.000001",
-> master_log_pos=120;
Query OK, 0 rows affected, 2 warnings (0.08 sec)
mysql> mysql> show slave status\G;
Slave_IO_Running: No
Slave_SQL_Running: No
mysql> start slave;
mysql> mysql> show slave status\G;
Slave_IO_Running: YES
Slave_SQL_Running: YES
二、主从同步的工作原理
master.info 记录连接主数据库服务器的信息
主机名-relay-bin.000001 中继日志sql语句
主机名-relay-bin.index 记录已有的中继日志文件名
relay-log.info 记录使用的日志文件信息
Slave_IO_Running: YES 负责把主数据库服务器binlog 日志里的sql语句,复制到自己本机的relay-bin日志文件里
Slave_SQL_Running: YES 负责执行本机的relay-bin日志,文件里的sql语句
测试:从数据库服务器能否自动同步主数据库服务器上数据。
mysql -h172.30.13.8 -u用户名 -p密码
注:change master to ...即可以指定主服务器,也可以用来修改已经指定好的服务器信息
三、故障排除
1.Slave_IO_Running: NO
物理设备未连上
防火墙
selinux
授权信息有误
2.Slave_SQL_Running: NO
主从库和表结构不一致
主必须启用bin-log日志
四:指定同步库和表
1.授权同步用户时必须是*.*
2.在主数据库端设置允许从数据库服务器备份自己哪些库数据;
vim /etc/my.cnf
binlog-do-db=name //只让从数据器备份自己的哪个库
binlog-ignore-db=name //不让从数据器备份自己的哪个库
注:上面两个选项不可以同时使用
或,在从数据库服务器端设置自己备份主数据库哪些数据;
vim /etc/my.cnf
replicate-do-db=mysql //指定只备份主数据库服务器上的哪个库
replicate-ignore-db=mysql //只不备份主数据库服务器上的哪个库
二、样例1:主 > 从(主) > 从
1.两台主服务器先设置授权(否则开启日志功能后,所设置的内容将同步到从服务器,造成安全隐患)
grant replication slave on *.* to user1@"172.30.13.191" identified by "321";
grant replication slave on *.* to user2@"172.30.13.192" identified by "321";
show master status;(查询正在使用的日志文件和i点)
2.两台主服务器开启日志(bin-log)和设置id(server_id=)
3.从(主)服务器在my.cnf中添加log-slave-updates语句,此项添加后,将会将同步的slave日志内容同步到本地日志内,否则将无法进行主从从实验
4.从服务器配置详见上面主从同步;
本文出自 “刘福” 博客,请务必保留此出处http://liufu1103.blog.51cto.com/9120722/1656835
mysql主从同步
标签:mysql主从同步
本文系统来源:http://liufu1103.blog.51cto.com/9120722/1656835
内容总结
以上是互联网集市为您收集整理的mysql主从同步全部内容,希望文章能够帮你解决mysql主从同步所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。