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. EasyUI 打印当前页

    function CommonPrint(printDatagrid, type) { var tableString = '<table cellspacing="0" c ...

  2. Ubuntu 终端命令整理

    一.文件目录类 1.建立目录:mkdir 目录名 2.删除空目录:rmdir 目录名 3.无条件删除子目录: rm -rf 目录名 4.改变当前目录:cd 目录名 (进入用户home目录:cd ~:进 ...

  3. 【Luogu】P1005矩阵取数游戏(高精度+DP)

    题目链接 yeah终于过辣! DP,f[i][j]表示每行还剩i到j这个区间的数没取的时候的值.借这个题我也把高精度的短板弥补了一下,以后高精加高精乘应该是没问题了. 哇终于不怂高精了…… 放上代码. ...

  4. 怎么创建SpringBoot项目

    上述中讲到了怎么创建SpringBoot项目,那么现在就来介绍下SpringBoot配置文件的两种格式yml和properties 首先呢发上一份application.properties 在放上一 ...

  5. BZOJ 2301 [HAOI2011]Problem b ——莫比乌斯反演

    分成四块进行计算,这是显而易见的.(雾) 然后考虑计算$\sum_{i=1}^n|sum_{j=1}^m gcd(i,j)=k$ 首先可以把n,m/=k,就变成统计&i<=n,j< ...

  6. [BZOJ4994] [Usaco2017 Feb]Why Did the Cow Cross the Road III(树状数组)

    传送门 1.每个数的左右位置预处理出来,按照左端点排序,因为左端点是从小到大的,我们只需要知道每条线段包含了多少个前面线段的右端点即可,可以用树状数组 2.如果 ai < bj < bi, ...

  7. 将list分成等数量

    import java.util.ArrayList; import java.util.List; public class CollectionGroupUtil { public static ...

  8. 互不侵犯King(bzoj 1087)

    Description 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. Input 只有一行,包 ...

  9. linux 查看自己所在的公网ip

    curl members.3322.org/dyndns/getip 其他的方法还有: curl icanhazip.com curl ifconfig.me curl curlmyip.com cu ...

  10. 三国武将查询系统 //Java 访问 数据库

    import java.awt.*; import javax.swing.*; import java.awt.event.ActionListener; import java.awt.event ...