首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MariaDb主复制

MariaDb主复制
EN

Server Fault用户
提问于 2018-05-16 13:40:39
回答 1查看 2.1K关注 0票数 1

我在RHEL环境中尝试了多种数据库的主从复制,mariadb作为nagiosxi应用程序的一部分。当从主复制到从服务器时,我有许多重复的错误1602,主程序不能用从服务器中的值覆盖。请提供一些有价值的来源或投入,以克服这一问题。

我跟踪了这些url来做主从复制https://forums.mysql.com/read.php?26,171776,205870 https://tunnelix.com/simple-master-master-replication-on-mariadb/

提前感谢

EN

回答 1

Server Fault用户

发布于 2018-05-16 20:11:56

嘿,莫汉,不清楚你想要主人是主人,还是主人是奴隶?把主人设置为奴隶是相当简单的。尤其是如果你做过一两次。

在这个场景中,机器A是主程序。您需要编辑机器A上的/etc/my.cnf文件。

在米舍尔德部分中,启用二进制日志记录并定义一个serverID。

代码语言:javascript
复制
[mysqld]
log-bin=mysql-bin
server-id=1
innodb_flush_log_at_trx_commit=1
sync_bin_log=1

重新启动Mariadb并连接,创建一个复制用户。

代码语言:javascript
复制
MariaDB [(none)]> create user 'repl'@'10.0.0.1' identified by 'password' ; 
MariaDB [(none)]> grant replication slave on *.* to 'repl'@'10.0.0.1'; 

锁定表和导出数据。

代码语言:javascript
复制
MariaDB [(none)]> flush tables with read lock; 

查找二进制日志位置。

代码语言:javascript
复制
MariaDB [(none)]> show master status 

创建数据库的转储。

代码语言:javascript
复制
mysqldump --all-databases --master-data -uroot -p >/tmp/master.sql 

打开桌子。

代码语言:javascript
复制
MariaDB [(none)]> unlock tables; 

将master.sql复制到从服务器。

在奴隶身上。

编辑/etc/my.cnf

代码语言:javascript
复制
[mysqld]
server-id=2 

设置奴隶

代码语言:javascript
复制
MariaDB [(none)]> change master to 
 -> master_host='10.0.0.2' 
 -> master_user='repl' 
 -> master_password='password' 
 -> master_log_file='mysql_bin.00001'
 -> master_log_pos=481

要获得master_log_file和master_log_pos,您可以在主服务器上运行show状态。

导入数据库备份

代码语言:javascript
复制
mysql -uroot -p </tmp/master.sql 

然后启动从进程。

代码语言:javascript
复制
MariaDB [(none)]> start slave; 

检查从状态

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/912503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档