目录
是指把数据从一个Mysql服务器(主节点)复制到一个或多个Mysql服务器(从节点)中,会把主节点服务器中的所有数据库实例、特定数据库实例或特定表等,全部复制到从节点服务器中。
是通过基于日志的复制方式实现数据的同步。当主服务器上发生数据变更时,会将这些变更写入二进制日志(Binary Log)中。从服务器通过连接到主服务器,请求从主服务器获取二进制日志,并将这些日志应用到自己的数据库中。
1、在Mysql的my.ini配置文件中添加以下参数:
- gtid_mode=ON
- enforce_gtid_consistency=true
- server_id=1
- log-bin=mysql-bin
- binlog_format=row
- log-slave-updates=1
2、重启Mysql和创建复制用户
使用管理员打开cmd命令窗口,按照以下命令步骤分别执行:
#暂停服务;
net stop mysql
#开启服务;
net start mysql
#连接数据库,Password替换为自己数据库密码;
mysql -u root -pPassword
#创建一个用于复制的用户,userName和Password自行设置;
CREATE USER 'userName'@'%' IDENTIFIED BY 'Password';
#授予复制权限,userName即上步创建的用户名;
GRANT REPLICATION SLAVE ON *.* TO 'userName'@'%';
#获取状态,记住File和Position两项参数,后面需要用到;
SHOW MASTER STATUS;
1、在Mysql的my.ini配置文件中添加以下参数:
- gtid_mode=ON
- enforce_gtid_consistency=true
- server_id=1
- log-bin=mysql-bin
- binlog_format=row
- log-slave-updates=1
2、重启Mysql和创建复制用户
使用管理员打开cmd命令窗口,按照以下命令步骤分别执行:
#暂停服务;
net stop mysql
#开启服务;
net start mysql
#连接数据库,Password替换为自己数据库密码;
mysql -u root -pPassword
#配置复制,serverIP是主服务器IP地址,userName和password是刚在主服务器创建的用户,file和position是刚查看主服务器状态返回的参数;
CHANGE MASTER TO MASTER_HOST='serverIP', MASTER_USER='userName', MASTER_PASSWORD='password', MASTER_LOG_FILE='file', MASTER_LOG_POS=position;
#启动复制;
START SLAVE;
#查看复制状态,输出中的Slave_IO_Running和Slave_SQL_Running的值为Yes,表示复制正在正常运行;
SHOW SLAVE STATUS\G;
到这里就结束了,可以在Mysql主服务器中进行添加、修改、删除操作,测试从服务器中的数据是否保持一致。注意:从服务器只允许进行查询,不可以进行添加、修改、删除等改变数据的操作,否则会导致复制状态失效。