MySql 主从复制的配置

MySql主从复制(Master-Slave)的实践

Mysql是目前广泛使用的免费数据库,不少人对接触过,而且在目前的电商网站中越来越多的使用,但是单台的MySql作为独立数据库多数情况下是不能满足需要的,比如安全性、高并发、高可用性等方面。

英因此,多数情况下是采用主从复制(Master-slave)的方式同步数据,在通过读写分离的方式(Mysql-proxy)提升数据库的负载能力。今天这里把开发机上部署两个mysql数据库的主从复制配置方式记录一下。

image[22]

一、MySql的安装

    开发机上使用了MySql 5.6.14 X64位Zip版,分别解压缩为 mysql_master 和 mysql_slave两个目录。

二、Mysql配置

    MySql配置:

      将mysql_master目录下的my-default.ini改名为my.ini,添加以下内容:

basedir=D:\app\mysql\mysql_master			#Mysql主目录
datadir=D:\app\mysql\mysql_master\data		#mySql Data目录
port=3306									#端口号
server_id=1									#server_id 同网段内唯一
log-bin=D:\app\mysql\mysql_master\log\log	#log目录
binlog-do-db=test							#默认Schema

 

    同样mysql_slave目录下配置为:

basedir=D:\app\mysql\mysql_slave
datadir=D:\app\mysql\mysql_slave\data
port=3307					#不能重复
server_id=2					#不能重复

   启动数据库

      使用以下命令启动数据库

D:\app\mysql\mysql_master\bin\mysqld -u root

  主数据库操作

     授权给从数据库 127.0.0.1:3307

         grant replication slave on *.* to ‘rep2’@’127.0.0.1’ identified by ‘password’;

     查询主数据库状态

        show master status;

image[17]

     记录下File和position的值。

  从服务器配置

     在slave数据库上新建用户 rep2,密码 password

     执行同步SQL语句

change master to
   master_host='127.0.0.1',
   master_user='rep1',
   master_password='password',
   master_log_file='log.000008',
   master_log_pos=330;

    正确执行后启动slave同步进程。主从数据库建立完成。

 

   验证主从复制效果

      目前主库数据如下:

         select * from ms_user where user_id='admin';

image[3]

 

    从库数据

image[4]

   

    主库执行更新SQL文:

update ms_user set user_name = 'master', apply_start_dt=current_timestamp() where user_id='admin';

image[8]

 

      从库目前数据为:

image[15]

   

    两边一致,复制成功。

posted @ 2013-12-05 21:48  绿豆娃  阅读(198)  评论(0)    收藏  举报