使用master状态
show master status记录file和position的值
在[mysqld]配置段添加如下字段,
连接slave,在mysql命令行执行以下命令,设置参数,启动slave
MASTER_LOG_FILE 对应master的status的file
MASTER_LOG_POS 对应master的status的position
主要查看Slave_IO_Running和Slave_SQL_Running 两列是否都为YES
1、通过以下sql语句查看mysql是否安装了federated插件。2、找到计算机上mysql的my.ini配置文件,在[mysqld]最后添加federated即可,添加完成,重启mysql服务再次查询该引擎状态为YES。
3、在数据库A所对应的服务器上创建桥接表.表名与数据库b中需要同步的表名一致。
4、在数据库A所对应的服务器上创建触发器。
5、先执行第三步的sql再执行第四部的sql。然后修改数据库A中表的数据,数据库B中表的数据会发生相同的变化。
1、设置同步Master每个同步服务器都必须设定一个唯一的编号,否则同步就不能正常运行了。接下来开始修改 my.cnf,增加以下几行:
server-id = 1
log-bin
set-variable=binlog-ignore-db=mysql
然后在Master上增加一个账号专门用于同步,如下:
mysql>GRANT REPLICATION SLAVE ON *.* TO rep@rep2 IDENTIFIED BY 'rep'
如果想要在Slave上有权限执行 "LOAD TABLE FROM MASTER" 或 "LOAD DATA FROM MASTER" 语句的话,必须授予全局的 FILE 和 SELECT 权限:
mysql>GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO rep@rep2 IDENTIFIED BY 'rep'
第三行表示不记录数据库mysql的更新日志,这就避免了Master上的权限设置等被同步到Slave上,如果对这方面没有限制,就可以不设置这个参数。
接下来备份Master上的数据,首先执行如下SQL语句:
mysql>FLUSH TABLES WITH READ LOCK
不要退出这个终端,否则这个锁就不生效了;接着导出数据,可以直接打包压缩数据文件,也可以使用mysqldump工具来做,推荐前者的方法,这样更为快捷简便。
root$cd /usr/local/mysqlhttps://zhidao.baidu.com/question/1541845601453826507.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)