【转】mysql多台服务器数据同步
/**
*@ Date 2010.09.13
*@ Author 狼
*@ Email 1317983530@qq.com
*@ QQ 1317983530
*@博客 http://hi.baidu.com/1317983530/home
*/
这两天在搞mysql 数据同步问题,这配置很繁琐。我这里用了两台机子做测试, 都是我本地的机子.分别是
主服务器 192.168.0.118
从服务器 192.168.0.187
1. 首先在 主从服务器分别创建数据库 backup_db和backup_table表作为测试
CREATE TABLE `backup_table` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(20) character set utf8 NOT NULL,
`sex` varchar(2) character set utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
注意主从服务器数据库结构必须一致。否则出错.
2.在住服务器的mysql按照目录找到my.ini文件,打开这个文件在文件末尾加上如下代码
#主机器的my.cnf(或my.ini)中应该配置:
server-id=1 #表示主服务器
log-bin=e:\mysqlback\ #同步事件的日志记录文件
log-bin-index =e:\mysqlback\master-log-bin.index
log-error =e:\mysqlback\master-error.log #错误日志
binlog-do-db=backup_db #提供数据同步服务的数据库(这里是刚才创建的测试数据库)
3. 配置完主服务器后 打开从服务器的my.cnf(或my.ini)文件 在文件末尾加入 如下代码
server-id=2 #表示从服务器
master-host=192.168.0.118 #主机A的地址
master-user=testuser #主机A提供给B的用户,该用户中需要包括数据库backup_db的权限
master-password=testpwd #访问密码
master-port=3306 #端口,主机的MYSQL端口
master-connect-retry=60 #重试间隔60秒
replicate-do-db=backup_db #同步的数据库
4. 完成后,然后在主从服务器的cmd 里面打开mysql控制台 授权从服务器的testuser用户来主服务器同步资源的权限
主服务器执行 GRANT FILE ON *.* TO testuser@'192.168.0.187' IDENTIFIED BY 'testpwd'
从服务器执行 GRANT FILE ON *.* TO testuser@'192.168.0.118' IDENTIFIED BY 'testpwd'
5. 重启主从服务器的mysql
从服务器 mysql>slave start ;
主服务器执行 mysql>show master status; 结果如下
mysql> show master status;
+---------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------+----------+--------------+------------------+
| .000002 | 613 | backup_db | |
+---------+----------+--------------+------------------+
1 row in set (0.00 sec)
从服务器
mysql>start slave;
mysql> show slave status\G;
执行结果
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 192.168.0.118
Master_User: testuser
Master_Port: 3306
Connect_Retry: 60
Master_Log_ mysql-bin.000016
Read_Master_Log_Pos: 173
Relay_Log_ mysqld-relay-bin.000002
Relay_Log_Pos: 98
Relay_Master_Log_ mysql-bin.000016
Slave_IO_Running: No
Slave_SQL_Running:Yes
...
执行结果 Slave_IO_Running 和 Slave_SQL_Running 必须为yes 如果你发现Slave_IO_Running: No 那么可能是权限问题
解决步骤:
mysql> show master status;
+------------------+--------------------+----------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-------------------+-----------------+------------------+
| mysql-bin.000001 | 98 | | |
+------------------+--------------------+-----------------+------------------+
mysql> slave stop;
mysql> change master to Master_Log_File='mysql-bin.000001',Master_Log_Pos=98;
mysql> slave start;
或者打开主从服务器的 phpmyadmin 找到testuser 用户 设置它们的权限 然后再分别重启,再到从服务器中mysql> show slave status\G;
发现
Slave_IO_Running: Yes
Slave_SQL_Running:Yes
这时你在 主服务器的phpmyadmin 找到 backup_db 的 backup_table表 插入一条记录, 在到从服务器中看看这张表,发现多了一条记录 ,成功了!!!
http://blog.csdn.net/jayxujia123/archive/2010/09/15/5885220.aspx
转载于:https://www.cnblogs.com/7bus/archive/2011/03/10/1979276.html
【转】mysql多台服务器数据同步相关推荐
- mysql同步binlog_利用MySQL的Binlog实现数据同步与订阅(下)
利用MySQL的Binlog实现数据同步与订阅(下)blog.yuanpei.me 终于到这个系列的最后一篇,在前两篇博客中,我们分别了介绍了Binlog的概念和事件总线(EventBus)的实现, ...
- Linux企业化运维--(7)redis服务之redis配置及主从复制、主从自动切换、集群、redis+mysql、gearman实现数据同步
Linux企业化运维 实验所用系统为Redhat-rhel7.6. 目录 Linux企业化运维 Linux企业化运维--(7)redis服务之redis配置及主从复制.主从自动切换.集群.redis+ ...
- canal mysql多节点_数据同步的终极解决方案,阿里巴巴开源的Canal框架当之无愧!!...
写在前面 在当今互联网行业,尤其是现在分布式.微服务开发环境下,为了提高搜索效率,以及搜索的精准度,会大量使用Redis.Memcached等NoSQL数据库,也会使用大量的Solr.Elastics ...
- 两台linux服务器负载均衡代码实现,nginx实现负载均衡,nginx负载均衡确保两台服务器数据保...
nginx实现负载均衡,nginx负载均衡确保两台服务器数据保 一.准备篇: Nginx 负载服务器: Centos 6.2 IP:192.168.1.93 WEB服务器: Web1:192.168. ...
- 手机通讯录 客户端/服务器数据同步方案设计
一.场景设定: 1.手机客户端与远程服务器数据同步: 2.一个服务器多个客户端: 3.手机不联网可以修改新增本地数据,联网后把数据变动同步到服务器: 4.联网后可以把服务器的数据变动同步到客户端. 二 ...
- TiDB 作为 MySQL Slave 实现实时数据同步
由于 TiDB 本身兼容绝大多数的 MySQL 语法,所以对于绝大多数业务来说,最安全的切换数据库方式就是将 TiDB 作为现有数据库的从库接在主 MySQL 库的后方,这样对业务方实现完全没有侵入性 ...
- MYSQL数据库表A数据同步到表B
目前有一个功能,需要数据库表A的数据同步到数据库表B里,目前来说除了表名不一样,字段全部都一样. 表A 表B 然后执行sql语句 INSERT QC_RSLT_EXT SELECT * FROM QC ...
- MySQL 到 MongoDB 实时数据同步实操分享
MySQL数据怎么实时同步到 MongoDB 实践分享系列 摘要:很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据.表多.数据量大等情况就难以同 ...
- MySQL 到 PostgreSQL 实时数据同步实操分享
摘要:很多 DBA 和开发同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据.表多.数据量大等情况就难以同步.最近了解到一款实时数据同步工具 Tapdata C ...
最新文章
- 【C++】C++11 STL算法(九):番外篇
- serverless mysql_Serverless 解惑——函数计算如何访问 MySQL 数据库
- goaccess-nginx日志分析工具简介
- 18.用宏定义实现 得到两个数的最值
- keytool安装tls证书_TLS使用指南(一):如何在Rancher 2.x中进行TLS终止?
- sony z2 android 5.0,索尼Xperia Z2 5.0 root教程_索尼Z2获取5.0系统的root
- mogndb 慢查询
- 五、线程优先级和守护线程
- phpstudy mysql升级5.7
- linux应用对I2C设备驱动4种读写方法
- 视觉SLAM十四讲_1_简介
- openpyxl 2.5.0中文文档
- c++ opencv图像中选择点显示点的坐标_如何使用OpenCV进行Delaunay三角剖分和Voronoi图...
- 博客园电子期刊2010年2月刊发布啦
- c语言各种头文件函数解释,c语言头文件及其函数
- 各国语言缩写-各国语言简称,世界各国域名缩写
- 计算机考研404是什么意思,研路分享:我的404分考研高分心得体会
- 守望先锋服务器修改,守望先锋开发者访谈:关于自定义的服务器
- 块存储、文件存储、对象存储这三者的差别
- Android 抱歉,xxx已停止运行 源码分析