jdbc:mysql:replication_使用Mysql的Replication功能实现数据库同步
本文档仅在于实验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功能实现数据库同步相关推荐
- MySQL可运行在不同的操作系统下_不同操作系统下的mysql数据库同步
当数据库的数据量读写频繁的时候,我们就要考虑把数据库的读写分开,以提高数据库的使用效率,(当然还有其他用处比如,备份数据),这个时候我们就要用到mysql的一个功能,数据库同步.下面就具体讲一下实现方 ...
- jdbc存储过程mysql_JDBC对MySQL数据库存储过程的调用
1.什么是存储过程 存储过程(英文:Stored Procedure)是在大型数据库系统中,为了完成特定功能而编写的一组的SQL语句集.存储过程经编译存储在数据库中,用户通过指定存储过程的名字并给出参 ...
- mysql 数据迁移_【AWS 功能】Mysql 数据库迁移至Amazon RDS方案
今天,我们讲讲如何使用源MySQL数据库执行数据库迁移到MySQL数据库的目标Amazon RDS的方案,同时由于(源和目标数据库引擎是相同的)--模式结构.数据类型和数据库代码在源和目标数据库之间是 ...
- Mysql 扩展性设计之Replication,在Mysql具有很相当重要的位置,主从、主主从,你了解他们的背后逻辑吗
前言 什么是Replication,干什么用的呢 Replication是怎么个工作的呢,背后的逻辑或原理是什么样子的 Replication 整体介绍 Replication 线程总结 敲黑板,划重 ...
- JDBC简单连接查询MySQL数据库
代码: DButil.java(连接关闭数据库的类) import java.sql.DriverManager; import java.sql.SQLException; import java. ...
- MySQL 8.0有什么新功能
https://mysqlserverteam.com/whats-new-in-mysql-8-0-generally-available/ 我们自豪地宣布MySQL 8.0的一般可用性. 现在下载 ...
- mysql和windows连接不上_问题-jdbc连接不上mysql,windows下开启两个mysql服务
1.问题: 前两天安装了个php 环境- wamp,由于我自己电脑上本身带有 mysql的数据库,在安装完后,没有注意到,mysql已经指向了 刚安装好的wamp里的mysql .导致 之前的 mys ...
- jdbc 变量 mysql_JDBC读写mysql总结
一.下载驱动(主要是jar包) mysql-connection-java-5.1.31-bin.jar 二.添加jar包,配置环境变量 把驱动jar包添加到以下两个目录,并设置classpath环境 ...
- JAVA通过JDBC连接并操作MySQL数据库
JAVA通过JDBC连接并操作MySQL数据库 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提 ...
- mysql 5.7 缺点_MySQL · 特性分析 · MySQL 5.7 外部XA Replication实现及缺陷分析
MySQL 5.7 外部XA Replication实现及缺陷分析 MySQL 5.7增强了分布式事务的支持,解决了之前客户端退出或者服务器关闭后prepared的事务回滚和服务器宕机后binlog丢 ...
最新文章
- 一口气说出 9种 分布式ID生成方式,面试官有点懵了
- LR 为什么离散化离散化的优势
- mysql 连续签到天数_天天拿帮会通宝 帮会签到真给力
- 分布式系统理论基础1: 一致性、2PC和3PC
- 雷锋网独家解读:阿里云原生应用的布局与策略
- html盒子嵌套居中,css在盒子中垂直居中和固定居中
- 简单解决Ubuntu修改locale的问题
- Python建立ip代理池(多线程)
- Linux sh/bash[精华]
- Web前端开发工程师基本要求
- 用c语言输出100到200之间的素数
- Secondary Maps (Detail Maps) Detail Mask 二级贴图(细节贴图)细节遮罩 Standard Shader系列14
- mysql dump hbase_mysqldump 导出数据库 结构
- c语言74hc595程序,74hc595使用方法与单片机驱动源程序
- mybatis框架xml中trim中的prefix与suffix等标签的作用
- IO多路复用select,poll epoll以及区别
- 音乐伴奏如何提取?不容错过的几款软件
- 操作系统之动态分区分配与回收—C语言实现
- 飞瞳引擎集装箱人工智能API集装箱箱况检测演示,全球No.1集装箱AI企业中集飞瞳,完成全球百万AI集装箱箱况检验上亿集装箱检测
- 二进制数的补码及运算