MySQL5.6主从复制
五个步骤完成MySQL主从复制
,1。主从服务器的/etc/my.cnf的配置,设置唯一ID启用二进制日志。
,2。创建主从复制的账号,并授权复制奴隶权限。
,3。查询大师的状态,获取主服务器二进制日志信息。
,4。配置从服务器去连接主服务器进行数据复制。
,5。检查从服务器复制功能状态,测试主从复制。
参考文章http://manual.blog.51cto.com/3300438/1372378
, 1。修改主服务器和从服务器的/etc/my.cnf的配置文件
,,修改主服务器主:
,第六,/etc/my.cnf
,,,,(mysqld)
,,,log-bin=mysql-bin大敌;#启用二进制日志,并设置二进制日志文件前缀
,,,,服务器id=222,,,#(必须]服务器唯一ID,必须是1至232 - 1之间的整数
,,,,注意:在配置文件中不可以使用skip-networking参数选项,否则从服务器将无法与主服务器进行连,,,,,,,,,接并复制数据。
,
,修改从服务器奴隶:
,第六,/etc/my.cnf
,,,,(mysqld)
,,,,log-bin=mysql-bin
,,,,服务器id=223
,,
,注意:如果有多台从服务器,则所有的服务器ID编号都必须是唯一的。
,,,,,,,MySQL从服务器上二进制日志功能是不需要开启的。
但是,你也可以通过启用从服务器的二进制日志功能,实现数据备份与恢复,此外在一些更复杂的,,,,MySQL,拓扑环境中,从服务器也可以扮演其他从服务器的主服务器。
,,
,修改完成后,重启两台服务器的MySQL
,,服务mysql重启
2。在主服务器上建立帐户并授权奴隶:
,mysql -uroot -p123,
,,
,mysql>格兰特复制奴隶*。*“mysync”@‘%’被‘123456’,,
,,
,,这个账户必须拥有复制奴隶权限,可以为不同的从服务器创建不同的账户与密码,也可以使用统一的账户与密码。
3。登录主服务器的mysql,查询大师的状态,
,
,,mysql>显示主状态;
,,,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +
,,|文件大敌;,,,,,位置,| | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
,,,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +
,,,| mysql-bin。000008年,|,520年,|大敌;,,,,,|大敌;,,,,,,,|大敌;,,,,,,,,|
,,,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +
,,1,行集(0.00秒)
,,文件列显示的是二进制日志文件名,位置为当前日志记录位置,从服务器的设置中需要用到。
,,
,,注意:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化
,,
,防止其他主机操作主数据库,可以用只读锁表的方式来防止数据库被修改。
,,
,,mysql>刷新表读锁;
,,mysql>显示主状态;
,,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +
,,|文件大敌;,,,,,| |位置Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
,,,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +
,,,| mysql-bin。000008 |,,520 |大敌;,,,,,|大敌;,,,,,,,|大敌;,,,,,,,,|
,,,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +
,,1,行集(0.00秒)
,,
,,mysql>打开表;
,与读锁,刷新表;命令的作用是对所有数据库的所有表执行只读锁定,
,,只读锁定后所有数据库的写操作将被拒绝,但读操作可以继续。
,,执行锁定可以防止在查看二进制日志信息的同时有人对数据进行修改操作,
,,最后使用解锁表;语句对全局锁执行结束操作。
,,
,,提示:
,,,,如果MySQL数据库系统中已经存在大量数据,可以使用使用,mysqldump工具在主服务器进行备,,,,,,份,然后导入从服务器。
,,,,(主)导出
,,,,,,mysqldump - u root - p‘123’——所有数据库lock-all-tables祝辞bak_mysql。sql
,,,,(从)导入
,,,,,mysql - u root - p‘123456’, & lt;bak_mysql.sql