本文档仅在于实验Mysql的Replication功能,没有考虑权限等其他问题,用于实验的服务器和客户机请使用没有安装过Mysql的计算机,如果安装过Mysql请卸载。请按照下面的顺序依次进行,改变顺序可能导致实验失败。

1、在下面地址下载免安装的Mysql数据库

2、解压缩到C:\Mysql目录下

3、注册服务并运行

开始—〉运行—〉cmd

在C:\Mysql\bin目录下执行以下命令:

C:\Mysql\bin>mysqld-nt –install

C:\Mysql\bin>net start mysql

4、建用户和需要同步的表

登陆数据库

C:\Mysql\bin>mysql -u root

mysql> GRANT ALL PRIVILEGES ON *.* TOslave@"%" IDENTIFIED BY '1234' WITH GRANT OPTION;

mysql> use test

mysql> CREATE TABLE `backup` (

`back_id` int(6) unsigned NOT NULL auto_increment,

`back_name` varchar(100) NOT NULL default 'name',

`insert_user` varchar(100) NOT NULL default 'slave',

`update_user` varchar(100) NOT NULL default 'slave',

`insert_time` datetime NOT NULL default '0000-00-00 00:00:00',

`update_time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,

`comment` text,

`delete_flag` tinyint(4) NOT NULL default '0',

PRIMARY KEY(`back_id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;;

mysql> INSERT INTO `backup`(back_name,insert_user,update_user,insert_time,update_time,

comment,delete_flag) VALUES ('Repliaction','li.mx','li.mx','2005-08-12 00:00:00','20050816112158',

NULL,0);

mysql>quit

停止数据库

C:\Mysql\bin>net stop mysql

5、部署配置好的数据库

把配置好的数据库拷贝到客户机

拷贝服务器的C:\Mysql到客户机的C:\Mysql

6、编辑服务器的配置文件

服务器C:\Mysql\my.cnf的内容如下:

[mysqld]

server-id=1

log-bin=c:\mysql\mysqllog

binlog-do-db=test

7、编辑客户机的配置文件

客户机C:\Mysql\my.cnf的内容如下:

[mysqld]

server-id=49#改为不重复的整数即可(如IP192.168.99.49的客户机可设为49)master-host=192.168.99.164#改为服务器IPport=3306master-user=slavemaster-password=1234

master-port=3306

master-connect-retry=60

replicate-do-db=test

report-host=192.168.99.49#改成本机IPreport-port=3306

注意:如果再次修改此配置文件,在启动数据库前请删除C:\Mysql\data\master.info.

8、启动服务器

开始—〉运行—〉cmd

在C:\Mysql\bin目录下执行以下命令:

C:\Mysql\bin>net start mysql

9、启动客户机

开始—〉运行—〉cmd

在C:\Mysql\bin目录下执行以下命令:

C:\Mysql\bin>mysqld-nt –install

C:\Mysql\bin>net start mysql

10、在服务器执行SQL,可观察到客户端同步

登陆服务器数据库,插入一条记录

C:\Mysql\bin>mysql -u root

mysql>use test

mysql> INSERT INTO `backup`(back_name,insert_user,update_user,insert_time,update_time,

comment,delete_flag) VALUES ('test','li.mx','li.mx','2005-08-12 00:00:00','20050816112158',

NULL,0);

登陆客户机数据库,可以察看到这条记录

C:\Mysql\bin>mysql -u root

mysql>use test

mysql>select * from backup;

11、安装MySQLAdministrator可以观察到客户机的状态

从下面的地址可以下载免安装的MySQLAdministrator1.1,解压缩到C:\即可

运行,出现登陆界面如下:

点Ok进入,在Replication Status可以看到客户端和服务器的状态

关于配置选项的更多信息请参考

备注:

mysql的命令

注册服务:mysqld-nt –-install

注销服务:mysqld-nt –-remove

启动数据库:net start mysql

停止数据库:net stop mysql

登陆数据库:mysql -u root

mysql的SQL语句

建用户并分配权限:GRANT ALL PRIVILEGES ON *.* TOslave@"%" IDENTIFIED BY '1234' WITH GRANT OPTION;

更改当前数据库:use test

建表:CREATE TABLE `backup` (

`back_id` int(6) unsigned NOT NULL auto_increment,

`back_name` varchar(100) NOT NULL default 'name',

`insert_user` varchar(100) NOT NULL default 'slave',

`update_user` varchar(100) NOT NULL default 'slave',

`insert_time` datetime NOT NULL default '0000-00-00 00:00:00',

`update_time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,

`comment` text,

`delete_flag` tinyint(4) NOT NULL default '0',

PRIMARY KEY(`back_id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;;

插入一条记录:

INSERT INTO `backup`(back_name,insert_user,update_user,insert_time,update_time,comment,

delete_flag) VALUES ('Repliaction','li.mx','li.mx','2005-08-12 00:00:00','20050816112158',NULL,0);

察看服务器状态:show master status;

察看客户机状态:show slave status;

退出数据库:quit

jdbc:mysql:replication_使用Mysql的Replication功能实现数据库同步相关推荐

  1. MySQL可运行在不同的操作系统下_不同操作系统下的mysql数据库同步

    当数据库的数据量读写频繁的时候,我们就要考虑把数据库的读写分开,以提高数据库的使用效率,(当然还有其他用处比如,备份数据),这个时候我们就要用到mysql的一个功能,数据库同步.下面就具体讲一下实现方 ...

  2. jdbc存储过程mysql_JDBC对MySQL数据库存储过程的调用

    1.什么是存储过程 存储过程(英文:Stored Procedure)是在大型数据库系统中,为了完成特定功能而编写的一组的SQL语句集.存储过程经编译存储在数据库中,用户通过指定存储过程的名字并给出参 ...

  3. mysql 数据迁移_【AWS 功能】Mysql 数据库迁移至Amazon RDS方案

    今天,我们讲讲如何使用源MySQL数据库执行数据库迁移到MySQL数据库的目标Amazon RDS的方案,同时由于(源和目标数据库引擎是相同的)--模式结构.数据类型和数据库代码在源和目标数据库之间是 ...

  4. Mysql 扩展性设计之Replication,在Mysql具有很相当重要的位置,主从、主主从,你了解他们的背后逻辑吗

    前言 什么是Replication,干什么用的呢 Replication是怎么个工作的呢,背后的逻辑或原理是什么样子的 Replication 整体介绍 Replication 线程总结 敲黑板,划重 ...

  5. JDBC简单连接查询MySQL数据库

    代码: DButil.java(连接关闭数据库的类) import java.sql.DriverManager; import java.sql.SQLException; import java. ...

  6. MySQL 8.0有什么新功能

    https://mysqlserverteam.com/whats-new-in-mysql-8-0-generally-available/ 我们自豪地宣布MySQL 8.0的一般可用性. 现在下载 ...

  7. mysql和windows连接不上_问题-jdbc连接不上mysql,windows下开启两个mysql服务

    1.问题: 前两天安装了个php 环境- wamp,由于我自己电脑上本身带有 mysql的数据库,在安装完后,没有注意到,mysql已经指向了 刚安装好的wamp里的mysql .导致 之前的 mys ...

  8. jdbc 变量 mysql_JDBC读写mysql总结

    一.下载驱动(主要是jar包) mysql-connection-java-5.1.31-bin.jar 二.添加jar包,配置环境变量 把驱动jar包添加到以下两个目录,并设置classpath环境 ...

  9. JAVA通过JDBC连接并操作MySQL数据库

    JAVA通过JDBC连接并操作MySQL数据库 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提 ...

  10. mysql 5.7 缺点_MySQL · 特性分析 · MySQL 5.7 外部XA Replication实现及缺陷分析

    MySQL 5.7 外部XA Replication实现及缺陷分析 MySQL 5.7增强了分布式事务的支持,解决了之前客户端退出或者服务器关闭后prepared的事务回滚和服务器宕机后binlog丢 ...

最新文章

  1. 一口气说出 9种 分布式ID生成方式,面试官有点懵了
  2. LR 为什么离散化离散化的优势
  3. mysql 连续签到天数_天天拿帮会通宝 帮会签到真给力
  4. 分布式系统理论基础1: 一致性、2PC和3PC
  5. 雷锋网独家解读:阿里云原生应用的布局与策略
  6. html盒子嵌套居中,css在盒子中垂直居中和固定居中
  7. 简单解决Ubuntu修改locale的问题
  8. Python建立ip代理池(多线程)
  9. Linux sh/bash[精华]
  10. Web前端开发工程师基本要求
  11. 用c语言输出100到200之间的素数
  12. Secondary Maps (Detail Maps) Detail Mask 二级贴图(细节贴图)细节遮罩 Standard Shader系列14
  13. mysql dump hbase_mysqldump 导出数据库 结构
  14. c语言74hc595程序,74hc595使用方法与单片机驱动源程序
  15. mybatis框架xml中trim中的prefix与suffix等标签的作用
  16. IO多路复用select,poll epoll以及区别
  17. 音乐伴奏如何提取?不容错过的几款软件
  18. 操作系统之动态分区分配与回收—C语言实现
  19. 飞瞳引擎集装箱人工智能API集装箱箱况检测演示,全球No.1集装箱AI企业中集飞瞳,完成全球百万AI集装箱箱况检验上亿集装箱检测
  20. 二进制数的补码及运算

热门文章

  1. 【C#】通过正则表达式对TextBox进行校验
  2. 【VBA编程实例】 如何导出百度云盘的目录
  3. HyperVolume多目标评价指标概述
  4. 智能优化算法:绯鲵鲣优化算法-附代码
  5. VIIRS SDR数据预处理(二)
  6. 遥感图像——多波段数据存储的方式
  7. ENVI图像纹理提取
  8. 实习踩坑之路:多线程+多个锁下面导致的数据库状态不对
  9. 我在创业公司的开发经验总结
  10. 为什么每天工作那么努力,却无法突破职场瓶颈?