Mysql主从复制配置及测试

MySQL的安装及配置详见我的另一篇博文http://blog.csdn.net/bxdxstu/article/details/45746515


这里在vmware虚拟机里做测试,MySQL版本为mysql-5.6.24,虚拟机系统为Windows XP,IP如下:

主服务器IP192.168.128.30

从服务器IP192.168.128.40


1、主从服务器分别作以下操作:

  1.1、保证MySQL版本一致

  1.2、初始化表,并在后台启动mysql

  1.3、修改root的密码


2、修改主服务器master

 用记事本打开my.cnf文件,增加或修改以下内容:

       [mysqld]

       log-bin=mysql-bin   //[必须]启用二进制日志

       server-id=30      //[必须]服务器唯一ID,默认是1,一般取IP最后一段

Mysql主从复制配置及测试_第1张图片


3、修改从服务器slave 

      用记事本打开my.cnf文件增加或修改以下内容:

       [mysqld]

       log-bin=mysql-bin   //[必须]启用二进制日志

       server-id=40       //[必须]服务器唯一ID,默认是1,一般取IP最后一段


4、重启两台服务器的mysql


5、赋予MySQL远程登录权限

mysql>GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'password'; 

//其中*.*代表所有权限,mysync代表账号,一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.168.145.226,加强安全,'password'是密码。

例:GRANT  REPLICATION SLAVE ON *.* to 'mysync'@'192.168.128.40' identified by '123'; 


修改后需要刷新权限生效:

mysql>FLUSH privileges;

Mysql主从复制配置及测试_第2张图片


查看MySQL数据库中所有用户拥有的权限:

mysql>select user,host,password from mysql.user;



6、登录主服务器的mysql,查询master的状态
   mysql>show master status;



注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化记录下 FILE 及 Position 的值,在后面进行从服务器操作的时候需要用到。


7、配置从服务器Slave

     配置内容有主服务器的IP,同步账号,密码,master statusFilePosition

执行同步SQL语句

mysql>change master to 

master_host='192.168.128.30',

master_user='mysync',

master_password='123',

master_log_file='mysql-bin.000001',

master_log_pos=120;    //注意不要断开,“120”无单引号。



启动从服务器同步进程:

Mysql>start slave;   


8、检查从服务器功能状态:

mysql> show slave status\G   //注意后面没有分号!



注:其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常,否则都是错误的状态(如:其中一个NO均属错误)。以上操作过程,主从服务器配置完成。


9. 验证主从复制效果

主服务器上的操作
在主服务器上创建数据库xd
mysql> create database xd;

Query Ok, 1 row affected (0.01 sec)

 

在主服务器上创建表student 
mysql> create table student (name varchar(256),age int,sex varchar(256));

Query Ok, 1 row affected (0.00 sec)

 

在主服务器上的表student 中插入记录

mysql> insert into student values('wangming',18,'f');

        insert into student values('xiaobai',20,'m');

Query Ok, 2 row affected (0.00 sec)

在从服务器上查看
mysql> show databases;



查看student表里的数据:



你可能感兴趣的:(Mysql主从复制配置及测试)