运行环境:

查看linux版本命令:lsb_release -a

主服务器:centos release 6.5 mysql 5.6.10-log  IP:172.17.200.25
从服务器:centos release 6.5 mysql 5.6.10-log  IP:172.17.200.26
主服务器dashi数据库

mysql默认配置文件,如不特殊指定默认为/etc/my.cnf

mysql配置文件查找顺序:/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf

我是默认设置 /etc/my.cnf

进入主服务 msyql -uroot -p 


一:主服务

1.1、创建一个复制用户dashi,具有replication slave 权限。

mysql>grant replication slave on *.* to 'dashi'@'172.17.200.26' identified by 'dashi';

mysql>flush privileges;

1.2、编辑my.cnf文件

vim /etc/my.cnf

增加 server-id=107

log-bin=bin.log 文件路径自己定(推荐绝对路径)

1.3 重启mysql

service mysqld restart

1.4、设置读锁

mysql>flush tables with read lock;

1.5、得到binlog日志文件名和偏移量(此处记住File名称和Position值,后面slave服务器配置时需要用到)

mysql> show master status;
+------------+------------+--------------+--------------------------------------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------+------------+--------------+--------------------------------------------------+-------------------+
| bin.000031 | 1011406487 | | information_schema,mysql,performance_schema,test | |
+------------+------------+--------------+--------------------------------------------------+-------------------+
1 row in set (0.00 sec)

1.6、备份要同步的数据库

mysqldump -uroot -p  test>test.sql

1.7解锁

mysql>unlock tables;


二:从服务器(172.17.200.26)

2.1、编辑my.cnf文件

vim /etc/my.cnf

增加 server-id=2

2.2 重启mysql

service mysqld restart

2.3、对从数据库进行相应设置

  此处要注意logfile的名称和position的值,其余host、user和password为主数据库设置的账号和密码

mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)

mysql> change master to 
   -> master_host='172.17.200.25',
   -> master_user='dashi',
   -> master_password='dashi',
   -> master_log_file='bin.log.000001',
   -> master_log_pos=713;

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> show slave status\G;

在这里主要是看:

  Slave_IO_Running=Yes
  Slave_SQL_Running=Yes


三、测试:
  上述项配置完以后可查看master和slave上线程的状态。在master上,你可以看到slave的I/O线程创建的连接:在master上输入show processlist\G;

mysql> show processlist \G;
*************************** 1. row ***************************
Id: 10865
User: dashi
Host: 172.17.200.25:37369
db: dashi
Command: Sleep
Time: 7
State:
Info: NULL
*************************** 2. row ***************************
Id: 10866
User: dashi
Host: 172.17.200.25:37370
db: dashi
Command: Sleep
Time: 7
State:
Info: NULL
*************************** 3. row ***************************
Id: 10873
User: dashi
Host: 172.17.200.26:37928
db: dashi
Command: Execute
Time: 1
State: Sending data
Info: select count(1) from trade_click where link=?
*************************** 4. row ***************************
Id: 10874
User: dashi
Host: 172.17.200.26:37929
db: dashi
Command: Sleep
Time: 9
State:
Info: NULL
*************************** 5. row ***************************
Id: 10882
User: dashi
Host: 172.17.200.26:37962
db: dashi
Command: Sleep
Time: 78
State:
Info: NULL

ERROR:
No query specified

3.1、在主数据库:192.168.0.107上添加新数据

3.2、在从库查找记录,是否存在

四:总结

主服务器master记录数据库操作日志到Binary log,从服务器开启i/o线程将二进制日志记录的操作同步到relay log(存在从服务器的缓存中),另外sql线程将relay log日志记录的操作在从服务器执行,从而达到主从复制。

 

linux下mysql主从复制,实现数据库同步的更多相关文章

  1. linux下mysql定时备份数据库

    linux下mysql定时备份数据库 (2010-10-21 12:40:17) 转载▼ 标签: 杂谈   一.用命令实现备份 首页进入mysql的bin目录 1.备份数据#mysqldump -uu ...

  2. Linux下MySQL导入导出数据库

    linux下 一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1.导出数据和表结构:mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql# ...

  3. Linux下 MYSQL 主从复制、同步

    mysql从3.23.15版本以后提供数据库复制功能.利用该功能可以实现两个数据库同步,主从模式(A->B),互相备份模式(A<=>B)的功能. 主从模式(A->B)的配置过程 ...

  4. Linux下Mysql主从复制(Master-Slave)与读写分离(Amoeba)实践

    一.为什么要做Mysql的主从复制(读写分离)?通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低.为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻 ...

  5. Linux下MySQL主从复制(Binlog)的部署过程

    什么是 MySQL 的主从复制 Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上 ...

  6. Linux下MySQL主从复制(GTID)+读写分离(ProxySQL)-实施笔记

    GTID概念: GTID( Global Transaction Identifier)全局事务标识.GTID 是 5.6 版本引入的一个有关于主从复制的重大改进,相对于之前版本基于 Binlog 文 ...

  7. mysql学习(3)-linux下mysql主从复制

    前言:为什么MySQL要做主从复制(读写分离)?通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低.为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻 ...

  8. linux下mysql主从复制搭建

    目标:搭建两台MySQL服务器,一台作为主服务器,一台作为从服务器,实现主从复制 环境: 主数据库: 192.168.1.1 从数据库: 192.168.1.2 mysql安装可参考:https:// ...

  9. mysql主从复制实现数据库同步

    mysql主从复制相信已经用得很多了,但是由于工作原因一直没怎么用过.趁着这段时间相对空闲,也就自己实现一遍.尽管互联网上已有大把类似的文章,但是自身实现的仍然值得记录. 环境: 主服务器:cento ...

随机推荐

  1. linux定期任务cron

    做个给服务器定期检测的python程序,要python跑起来自己检测时间再执行?我想到了用cron服务. 遇到了个问题python没写绝对路径,没有执行,改了绝对路径就好了.其实人家配置文件开头写了个 ...

  2. Android 自定义圆形图表

    <com...SignChartView android:id="@+id/signChart" android:layout_width="265dp" ...

  3. C# linq to sql

    参考文章地址:http://www.cnblogs.com/yubaolee/p/BestLinqQuery.html   以下是我自己的总结: 表结构: 本文全部代码基于:UserInfo与Clas ...

  4. winform中 让 程序 自己重启

    private void button1_Click(object sender, EventArgs e)        {            Application.ExitThread(); ...

  5. SQL Server ->> 建立linked server到Azure SQL Server

    EXEC master.dbo.sp_addlinkedserver @server = N'<nick_name_to_use>', @srvproduct=N'', @provider ...

  6. jetbrain rider 逐渐完美了,微软要哭了么?

    2019-03-24 10:08:42 多年的vsiual studio使用经验,各种小瑕疵:到现在的visual studio是越来越大了:简直到了无法忍受境地: 每次重装系统都要重新安装下,这个不 ...

  7. 环境变量PATH超长问题[转]

    症状回放: 最近安装一个Delphi的控件,结果,在安装之后启动Delphi时出现了找不到相关文件的错误.一开始以为是Delphi内的Library路径没有添加,查看,一切正常.再次启动Delphi, ...

  8. May 11th 2017 Week 19th Thursday

    If you fell down yesterday, stand up today. 昨天跌倒了,今天仍然要站起来. From Herbert George Wells. If you fell d ...

  9. March 15 2017 Week 11 Wednesday

    The starting point of all achievements is desire. 成功的第一步是渴望. Only you desire for somethings, you can ...

  10. scrum3

    首先我一直做的是框架的设计,但不同的是这次我们整合完善了这个软件目前的所有需求也定义好了它的大题框架,总的来说设计部分已经结束,现在也就是本次冲刺,我们将重点进行整个软件的数据库编程环节,也就是用SQ ...