本机创建 主从同步配置
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以后的字母)