使用Mysql的Replication功能实现数据库同步

 

本文档仅在于实验MysqlReplication功能,没有考虑权限等其他问题,用于实验的服务器和客户机请使用没有安装过Mysql的计算机,如果安装过Mysql请卸载。请按照下面的顺序依次进行,改变顺序可能导致实验失败。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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

http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-noinstall-5.0.13-rc-win32.zip/from/pick

 

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 *.* TO slave@"%" 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  #改为服务器IP
port=330
6 
master-user=
slave
master-password=1234
master-port=3306
master-connect-retry=60
replicate-do-db=test
report-host=192.168.99.49
 #改成本机IP
report-port=330
6 

 

注意如果再次修改此配置文件,在启动数据库前请删除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:\即可

http://dev.mysql.com/get/Downloads/MySQLAdministrationSuite/mysql-administrator-1.1.3-win-noinstall.zip/from/pick

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

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />1.jpg

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

2.jpg 

 

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

http://dev.mysql.com/doc/mysql/en/replication-options.html

 

备注:

mysql的命令

注册服务:mysqld-nt –-install

注销服务:mysqld-nt –-remove

启动数据库net start mysql

停止数据库:net stop mysql

登陆数据库mysql -u root

 

mysqlSQL语句

建用户并分配权限:GRANT ALL PRIVILEGES ON *.* TO slave@"%" 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

转载于:https://www.cnblogs.com/echo/archive/2005/10/10/251401.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值