mysql主从复制

怎么安装mysql数据库,这里不说了,仅仅说它的主从复制。过程例如以下:

主从最好都是同一种系统比方都是linux,或者都是windows,当然混合着也是能够成功,不解释了

1、主从server分别作下面操作

  1.1、版本号一致

  1.2、初始化表,并在后台启动mysql

  1.3、改动root的password



2、改动主servermaster:

   #vi /etc/my.cnf

       [mysqld]

       log-bin=mysql-bin   //[必须]启用二进制日志

       server-id=222       //[必须]服务器唯一ID,默认是1,一般取IP最后一段

  注意 windows下的是在安装文件夹下的my.ini,假设是my-default.ini就重命名为my.ini。其它配置一样,命令不一样,你们自己百度吧

  注意一下mysql的5.6版本号里面的server_id是下横杠"_"不是中横杠"-"。不然会报错,版本号差异还是有的



3、改动从serverslave:

   #vi /etc/my.cnf

       [mysqld]

       log-bin=mysql-bin   //[必须]启用二进制日志

       server-id=226       //[必须]服务器唯一ID,默认是1,一般取IP最后一段



4、重新启动两台server的mysql

   /etc/init.d/mysql restart

   Windows是这种

  1.点击“開始”->“执行”(快捷键Win+R)。

  2.启动:输入 net stop mysql

  3.停止:输入 net start mysql

 或者windows下能够在安装bin文件夹下运行 : "mysqladmin -uroot -p --port 3306 shutdown "进行关闭mysql后再启动  注意:--port是两个"-";

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaDM0ODU5MjUzMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

   启动能够双击安装文件夹/bin下的mysqld.exe启动



5、在主server上建立帐户并授权slave:

   #/usr/local/mysql/bin/mysql -uroot -pmttang   

   mysql>GRANT REPLICATION SLAVE ON *.* to '授权的username'@'%' identified by 'password'; //一般不用root帐号,“%”表示全部client都可能连,仅仅要帐号。password正确,此处可用详细clientIP取代,如192.168.145.226,加强安全。



6、登录主server的mysql,查询master的状态

   mysql>show master status;

   +------------------+----------+--------------+------------------+

   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

   +------------------+----------+--------------+------------------+

   | mysql-bin.000007 |      308 |              |                  |

   +------------------+----------+--------------+------------------+

   1 row in set (0.00 sec)

   注:运行完此步骤后不要再操作主serverMYSQL。防止主server状态值变化



7、配置从serverSlave:

   mysql>change master to master_host='192.168.1.222',master_user='主库的username',master_password='密码',

         master_log_file='mysql-bin.000004',master_log_pos=308;            //注意不要断开,“308”无单引號。



   Mysql>start slave;    //启动从server复制功能



8、检查从server复制功能状态:



   mysql> show slave status\G       



   *************************** 1. row ***************************



                Slave_IO_State: Waiting for master to send event



                   Master_Host: 192.168.1.222  //主server地址



                   Master_User: test         //授权帐户名。尽量避免使用root



                   Master_Port: 3306           //数据库port,部分版本号没有此行



                 Connect_Retry: 60



               Master_Log_File: mysql-bin.000007



           Read_Master_Log_Pos: 600        //#同步读取二进制日志的位置,大于等于>=Exec_Master_Log_Pos



                Relay_Log_File: ddte-relay-bin.000003



                 Relay_Log_Pos: 251



         Relay_Master_Log_File: mysql-bin.000004



              Slave_IO_Running: Yes       //此状态必须YES



             Slave_SQL_Running: Yes       //此状态必须YES

                    ......



注:Slave_IO及Slave_SQL进程必须正常执行,即YES状态,否则都是错误的状态(如:当中一个NO均属错误)。



以上操作过程,主从server配置完毕。

  

9、主从server測试:



主serverMysql,建立数据库,并在这个库中建表插入一条数据:



  mysql> create database hi_db;

  Query OK, 1 row affected (0.00 sec)



  mysql> use hi_db;

  Database changed



  mysql>  create table hi_tb(id int(3),name char(10));

  Query OK, 0 rows affected (0.00 sec)

 

  mysql> insert into hi_tb values(001,'bobu');

  Query OK, 1 row affected (0.00 sec)



  mysql> show databases;

   +--------------------+

   | Database           |

   +--------------------+

   | information_schema |

   | hi_db              |

   | mysql              |

   | test               |

   +--------------------+

   4 rows in set (0.00 sec)



从serverMysql查询:



   mysql> show databases;



   +--------------------+

   | Database           |

   +--------------------+

   | information_schema |

   | hi_db              |          //I'M here。大家看到了吧

   | mysql              |

   | test               |

   +--------------------+

   4 rows in set (0.00 sec)



   mysql> use hi_db

   Database changed

   mysql> select * from hi_tb;    //能够看到在主server上新增的详细数据

   +------+------+

   | id   | name |

   +------+------+

   |    1 | bobu |

   +------+------+

   1 row in set (0.00 sec)

mysql读写分离(主从复制)实现的更多相关文章

  1. yii2操作数据库 mysql 读写分离 主从复制

    转载地址:http://www.kuitao8.com/20150115/3471.shtml 开始使用数据库首先需要配置数据库连接组件,通过添加 db 组件到应用配置实现("基础的&quo ...

  2. 高可用Mysql架构_Mysql主从复制、Mysql双主热备、Mysql双主双从、Mysql读写分离(Mycat中间件)、Mysql分库分表架构(Mycat中间件)的演变

    [Mysql主从复制]解决的问题数据分布:比如一共150台机器,分别往电信.网通.移动各放50台,这样无论在哪个网络访问都很快.其次按照地域,比如国内国外,北方南方,这样地域性访问解决了.负载均衡:M ...

  3. PHP代码实现MySQL读写分离

    关于MySQL的读写分离有几种方法:中间件,Mysql驱动层,代码控制 关于中间件和Mysql驱动层实现Mysql读写分离的方法,今天暂不做研究, 这里主要写一点简单的代码来实现由PHP代码控制MyS ...

  4. 使用Atlas实现MySQL读写分离+MySQL-(Master-Slave)配置

    参考博文: MySQL-(Master-Slave)配置  本人按照博友北在北方的配置已成功  我使用的是 mysql5.6.27版本. 使用Atlas实现MySQL读写分离 数据切分——Atlas读 ...

  5. MySQL读写分离技术

    1.简介 当今MySQL使用相当广泛,随着用户的增多以及数据量的增大,高并发随之而来.然而我们有很多办法可以缓解数据库的压力.分布式数据库.负载均衡.读写分离.增加缓存服务器等等.这里我们将采用读写分 ...

  6. php实现MySQL读写分离

    MySQL读写分离有好几种方式 MySQL中间件 MySQL驱动层 代码控制 关于 中间件 和 驱动层的方式这里不做深究  暂且简单介绍下 如何通过PHP代码来控制MySQL读写分离 我们都知道 &q ...

  7. mysql读写分离总结

    随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策略来改变现状.读写分离现在被大量应用于很多大型网站,这个技 ...

  8. mysql读写分离 主从同步

    MySQL主从复制与读写分离的实现 转载 2013年01月17日 18:20:12   MySQL主从复制与读写分离 MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy) ...

  9. 使用Amoeba实现mysql读写分离机制

    Amoeba的实用指南 http://docs.hexnova.com/amoeba/ 如何实现mysql读写分离 : 通常来说有两种方式: 1,应用程序层实现 2,中间件层实现 应用层实现 应用层实 ...

  10. MySQL读写分离之amoeba

    MySQL读写分离之amoeba主从复制的搭建环境参考:http://www.cnblogs.com/fansik/p/5270334.htmlamoeba依赖于jdk环境:jdk环境搭建参考:htt ...

随机推荐

  1. OSPF 一 基础

    本节介绍ospf路由选择协议    为链路状态  路由选择协议 一  分类 open shortest path first   开放最短路优先   公有协议 单区域的ospf实施  运行在一个自治系 ...

  2. 【LeetCode】Available Captures for Rook(车的可用捕获量)

    这道题是LeetCode里的第999道题. 题目叙述: 在一个 8 x 8 的棋盘上,有一个白色车(rook).也可能有空方块,白色的象(bishop)和黑色的卒(pawn).它们分别以字符 &quo ...

  3. Caffe 编译: undefined reference to imencode()

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/52150781 整理之前编译工程中遇到的 ...

  4. sqlserver查询表大小

    IF OBJECT_ID('tempdb..#TB_TEMP_SPACE') IS NOT NULL DROP TABLE #TB_TEMP_SPACE GO CREATE TABLE #TB_TEM ...

  5. 刷题总结——二叉苹果树(ssoj树形dp+记忆化搜索)

    题目: 题目背景 URAL:http://acm.timus.ru/problem.aspx?space=1&num=1018 题目描述 有一棵苹果树,如果树枝有分叉,一定是分 2 叉(就是说 ...

  6. spring 如何动态加载properties文件的内容

    1. 在xml中配置你的properties路径: <bean id="messageSource" class="org.springframework.cont ...

  7. testng自定义html报告,根据freemaker生成

    [转] https://testerhome.com/topics/3487 [参考]https://www.cnblogs.com/cheese320/p/8890929.html  做了些修改,换 ...

  8. jenkins使用流程

    jenkins使用流程 看下面那个连接的吧. http://www.cnblogs.com/zz0412/p/jenkins02.html 1.设置git库 2.点击add添加github用户名.密码 ...

  9. 云计算与 OpenStack

    “云计算” 算是近年来最热的词了.现在 IT 行业见面不说这三个字您都不好意思跟人家打招呼. 对于云计算,学术界有各种定义,大家有兴趣可以百度一下. CloudMan 这里主要想从技术的角度谈谈对云计 ...

  10. 跳蚤 BZOJ 4310

    跳蚤 [问题描述] 很久很久以前,森林里住着一群跳蚤.一天,跳蚤国王得到了一个神秘的字符串,它想进行研究. 首先,他会把串分成不超过 k 个子串,然后对于每个子串 S,他会从S的所有子串中选择字典序最 ...