mysql 开启主从同步

mysql 开启主从同步,第1张

在[mysqld]配置段添加如下字段

使用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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8377567.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存