MySQL的安装及配置详见我的另一篇博文http://blog.youkuaiyun.com/bxdxstu/article/details/45746515
这里在vmware虚拟机里做测试,MySQL版本为mysql-5.6.24,虚拟机系统为Windows XP,IP如下:
主服务器IP:192.168.128.30
从服务器IP:192.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最后一段
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数据库中所有用户拥有的权限:
mysql>select user,host,password from mysql.user;
6、登录主服务器的mysql,查询master的状态
mysql>show master status;
注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化。记录下 FILE 及 Position 的值,在后面进行从服务器操作的时候需要用到。
7、配置从服务器Slave
配置内容有主服务器的IP,同步账号,密码,master status的File和Position。
执行同步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表里的数据: