今天先讲讲数据库的主从同步,两个好处:

   一是读写分离可以用上。比如 写操作就写到主数据库,读就再从库读取

二是纯粹给数据库备份,以防硬盘彻底崩了

主从数据库操作准备:

两台电脑,都安装好mysql 5.5及以上版本,最好两台电脑都安装同一版本数据库,且能单独正常使用

记住两台电脑的ip地址:

以我公司电脑为例: 主数据库:192.168.0.102   从数据库:192.168.0.104

【主数据库下操作】

步骤一:

在主数据库mysql安装目录下找到my.ini文件打开,在mysqld下添加主服务器配置

server-id=1    #服务器 id 
log-bin=C:\Program Files\MySQL\MySQL Server 5.5\mysql-bin    #二进制文件存放路径
binlog-do-db=test1    #待同步的数据库

保存并重启mysql服务后你可以在C:\Program Files\MySQL\MySQL Server 5.5 下看到mysql-bin.index 文件和mysql-bin.000001文件

输入用户名和密码:mysql -u用户名 -p密码 (    mysql -uroot -proot   )

步骤二,

给要连接的从服务器设置权限:grant replication slave,reload,super on *.* to slave@192.168.0.104 identified by 'root';

ps: 给主机192.168.0.104添加权限,用户名:slave,密码:root;(只需输入一次就可以了)

步骤三,

输入命令 show master status;       # 找到File 和 Position 的值记录下来;

【从数据库上操作】

步骤四:

在mysql下找到my.ini文件,在其[mysqld] 下添加从服务器端配置:

server-id=2    #服务器 id ,不能和主服务器一致
replicate-do-db=test1    #待同步的数据库

保存并重启mysql服务

步骤五:

从服务器上测试:mysql -u slave -p root -h 192.168.0.102,查看能否连接主数据库成功,

然后输入exi退出mysql命令行或者关闭该cmd窗口新开一个cmd

步骤六:

修改对主数据库的连接的参数:mysql>change master to master_host='192.168.0.104',master_user='slave',master_password='root', master_log_file='mysql-bin.000001',master_log_pos=107;(这里输入的mysql-bin.000001和107请替换为步骤三中查询出来的值 否则不会同步的,切换到从库操作)

ps:可能会报一个错误,大概的意思是说slave线程正在运行,不能设置,这样的话,执行mysql>stop slave; 停止slave线程,然后再设置连接的参数;

具体方法:解决办法:
mysql> stop slave ;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> start slave ;

步骤七:

设置完之后,执行 mysql> start slave; 开启slave线程;执行mysql> show slave status\G   (没有分号),查看

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
 
这是详细的步骤,如果不成功 请联系我帮你解决,按照这个步骤 只要两个电脑网络互通,应该不会有问题的

不过需要注意的是:

如果对从数据库进行修改,是不会同步对主数据库进行修改的,这样就应该用主-主同步了,方法类似,

所以insert,delete update 都应该是对主数据库的操作, 而select操作则对从表进行操作

windows下mysql 主库从库同步的更多相关文章

  1. Windows 下MySQL zip 安装

    主要步骤: 1.下载解压到安装的文件夹 2.配置环境路径 3.配置my.ini文件,设置程序路径和数据存储路径 4.以管理员身份启动Mysqld install(提示sevice安装成功) 5.启动M ...

  2. MySQL 5.7 Command Line Client输入密码后闪退和windows下mysql忘记root密码的解决办法

    MySQL 5.7 Command Line Client输入密码后闪退的问题: 问题分析: 1.查看mysql command line client默认执行的一些参数.方法:开始->所有程序 ...

  3. coreseek实战(二):windows下mysql数据源部分配置说明

    coreseek实战(二):windows下mysql数据源部分配置说明 关于coreseek在windows使用mysql数据源的配置,以及中文分词的详细说明,请参考官方文档: mysql数据源配置 ...

  4. Windows下mysql自动备份的最佳方案

    网上有很多关于window下Mysql自动备份的方法,其实不乏一些不好的地方和问题,现总结出一个最好的方法供大家参考: 新建一个记事本,然后重命名为: mysql_backup.bat 然后单击右键选 ...

  5. Windows下mysql忘记密码的解决方法

    Windows下mysql忘记密码的解决方法 mysql5.0 http://www.jb51.net/article/21984.htm方法一: 1.在DOS窗口下输入 net stop mysql ...

  6. 如何在WINDOWS下编译BOOST C++库 .

    如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25   写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0.   1)下载boost ...

  7. Windows下MYSQL自动备份批处理

    windows下MYSQL自动备份批处理 2011-05-04 09:16:45|  分类: mysql|举报|字号 订阅     按系统时间进行备份 注意mysql安装路径中如果有空格.就要把,.b ...

  8. 【已解决】Windows下 MySQL大小写敏感 解决方案及分析

    Windows下 MySQL大小写敏感配置 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-3-27 最近在window ...

  9. windows下mysql和linux下mysql主从配置

    1. linux下mysql安装版本5.6   windows下mysql版本5.7  不要问我为什么版本不一致  就是想这么搞 2. linux为主服务器   windows为从服务器 3.找到li ...

随机推荐

  1. MyBatis 源码篇-SQL 执行的流程

    本章通过一个简单的例子,来了解 MyBatis 执行一条 SQL 语句的大致过程是怎样的. 案例代码如下所示: public class MybatisTest { @Test public void ...

  2. Java并发与多线程教程(2)

    Java同步块 Java 同步块(synchronized block)用来标记方法或者代码块是同步的.Java同步块用来避免竞争.本文介绍以下内容: Java同步关键字(synchronzied) ...

  3. CodeFirst与EntityFramework

    项目添加EntityFramework命令:Install-Package EntityFramework CodeFirst默认规则1. 数据库映射:Code First 默认会在本地的SQL Ex ...

  4. 充值css样式

    @charset "utf-8"; /*reset CSS*/ body,ul,ol,dl,dd,h1,h2,h3,h4,h5,h6,figure,form,fieldset,le ...

  5. Nginx笔记一

      nginx: 为什么选择nginx: nginx是一个高性能的web和反向代理服务器. 作为web服务器:使用更少的资源,支持更多的并发连接,更高的效率,能够支持高达5w个并发连接数的相应, 作为 ...

  6. echarts —— 重叠图

    平时做堆叠图比较多,但是今天遇到一个要做重叠图的需求,记录一下~ 1.堆叠图,对应的 series: [] ,需要设置一个stack: "1",其中每个堆叠图的stack属性值都要 ...

  7. 非常规的command not found

    在linux环境下会遇到各种command not found的情况,大部分是可以直接安装同名的包可以解决,但有一些不是,这里做一下汇总,总结各种命令或者工具的安装情况: 非同名安装: 包名 Debi ...

  8. JS__POST

    RSA加密 熟悉的东西 public key Encrypt (函数) 而且 每次刷新都会变化() 一般 128 位,也有 256位的

  9. pymysql_mysql密码重置方法,连接局域网数据库的解决办法

    https://blog.csdn.net/qq_37176126/article/details/72824106   pymysql模块的操作 https://blog.csdn.net/skh2 ...

  10. ES bulk 批量操作

    bulk允许在一个请求中进行多个操作(create.index.update.delete),也就是可以在一次请求裡做很多事情 也由于这个关系,因此bulk的请求体和其他请求的格式会有点不同 bulk ...