本机创建 主从同步配置

1、复制两个Mysql数据库,为创建两个数据库服务(见一个bat文件,里面写入如下内容,用管理员身份运行),并启动数据库

call F:\test\1zc\mysql-5.6.20_z\bin\mysqld  --install mysql_z
call F:\test\1zc\mysql-5.6.20_z\bin\mysqld  --install mysql_c
net start mysql_z
net start mysql_c

2、在Master(主数据库)创建复制账号,新建账户 账号:llf,密码:1234  并赋予权限,因为是本机操作,所以是@localhost

mysql >GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO [email protected] IDENTIFIED BY '1234';

3、拷贝数据

         (假如是你完全新安装mysql主从服务器或者这两个数据库的data文件里面的数据库内容完全相同的[如,我两个数据库完全一模一样],这个一步就不需要。因为新安装的master和slave有相同的数据)关停Master服务器,将Master中的数据拷贝到B服务器中,使得Master和slave中的数据同步,并且确保在全部设置操作结束前,禁止在Master和slave服务器中进行写操作,使得两数据库中的数据一定要相同!

4、配置master,打开主数据库mysql_z下的my.inf进行配置

 本机创建 主从同步配置

重启master,运行SHOW MASTER STATUS;记住这两个数据File和Position,后面会用到

本机创建 主从同步配置

5、配置从数据库slave,Slave的配置与master类似,你同样需要重启slave的MySQL

本机创建 主从同步配置

6、启动slave

首先停止slave(如果以前启动过)

mysql->stop slave;

接着配置从数据库(MASTER_HOST就是用户llf所配置的本机localhost,MASTER_PORT是主数据库的端口号,

MASTER_LOG_FILE和MASTER_LOG_POS就上上面要记住的File和Position)

mysql ->CHANGE MASTER TO MASTER_HOST='localhost',

  ->MASTER_USER='llf',

->MASTER_PORT='3316',

->MASTER_PASSWORD='1234',

->MASTER_LOG_FILE='mysql-bin.000006',

->MASTER_LOG_POS=234;


配置完成后,启动slave

mysql->start slave;

接着用 SHOW SLAVE STATUS\G 查看slave的设置对不对(语句不要有分号)

mysql->SHOW SLAVE STATUS\G

出来的结果主要看一下两个标志

 Slave_IO_Running=Yes
       Slave_SQL_Running=Yes

如果没有完全成功,记得看报错信息, SHOW SLAVE STATUS\G 里面有错误提示的,不要盲目找错误 Last_IO_Error和

Last_SQL_Error记录着里面有什么错误。


注:

如果你主从数据库都是一模一样的,既拷贝的,那么找到mysql-5.6.20_c/data/auto.cnf里面有个uuid,主从的uuid是不能一样的,

如果一样,改为不同即可(这是16进制数,不要输入F以后的字母)