MySql 主从复制的配置
MySql主从复制(Master-Slave)的实践
Mysql是目前广泛使用的免费数据库,不少人对接触过,而且在目前的电商网站中越来越多的使用,但是单台的MySql作为独立数据库多数情况下是不能满足需要的,比如安全性、高并发、高可用性等方面。
英因此,多数情况下是采用主从复制(Master-slave)的方式同步数据,在通过读写分离的方式(Mysql-proxy)提升数据库的负载能力。今天这里把开发机上部署两个mysql数据库的主从复制配置方式记录一下。
一、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;
记录下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';
从库数据
主库执行更新SQL文:
update ms_user set user_name = 'master', apply_start_dt=current_timestamp() where user_id='admin';
从库目前数据为:
两边一致,复制成功。
![image[22] image[22]](http://images0.cnblogs.com/blog/13185/201312/05210438-32fa41503f534d1c8b990c706178337c.png)
![image[17] image[17]](http://images0.cnblogs.com/blog/13185/201312/05213507-2b41882825824636a786df391827a8a7.png)
![image[4] image[4]](http://images0.cnblogs.com/blog/13185/201312/05214815-690cd72b003c4c6bbbee9ca8a1c13bdd.png)
![image[15] image[15]](http://images0.cnblogs.com/blog/13185/201312/05214817-5d4e44a9f414469a82a73808acd41392.png)
浙公网安备 33010602011771号