Mariadb 主主复制

两台server1  192.168.1.189 &&  server2 192.168.1.226

安装mariadb数据库

yum -y install mariadb mariadb-server

修改server1  /etc/my.cnf

vim /etc/my.cnf

[mysqld]     

server_id=1          # ID,全网唯一
log-bin=mysql-bin     # 开启二进制日志 日志文件格式为 mysql-bin.XXXX
relay-log=mysql-relay-bin  # 中继日志文件, 日志文件格式为 mysql-relay-bin.XXXX

auto_increment_increment=2 #步进值auto_imcrement。一般有n台主MySQL就填n       #避免主键重复冲突
auto_increment_offset=1 #起始值。一般填第n台主MySQL。此时为第一台主MySQL

replicate-wild-ignore-table=mysql.%   # replicate-wild-ignore-table 忽略不需要复制的数据库和表
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%

修改server2 /etc/my.cnf

vim /etc/my.cnf
[mysqld]     

server_id=2          # ID,全网唯一
log-bin=mysql-bin     # 开启二进制日志 日志文件格式为 mysql-bin.XXXX
relay-log=mysql-relay-bin  # 中继日志文件, 日志文件格式为 mysql-relay-bin.XXXX

auto_increment_increment=2 #步进值auto_imcrement。一般有n台主MySQL就填n       #避免主键重复冲突
auto_increment_offset=2 #起始值。一般填第n台主MySQL。此时为第一台主MySQL

replicate-wild-ignore-table=mysql.%   # replicate-wild-ignore-table 忽略不需要复制的数据库和表
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%

 

server1 

grant replication slave on *.* to 'repl_user'@'192.168.1.226' identified by 'repl_passwd';  #创建一个用于复制的用户

MariaDB [(none)]> show master status\G                             # 查看position 值, 指针 和 File 名
*************************** 1. row ***************************
File: mysql-bin.000003
Position: 591
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)

server2

change master to master_host='192.168.1.189',master_user='repl_user',master_password='repl_passwd',master_log_file='mysql-bin.000003',master_log_pos=591;
start slave; #开启主重复制
show slave status\G # 查看状态

*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.189          # 主mysql IP
Master_User: repl_user              # mysql 登入用户
Master_Port: 3306                   # 端口
Connect_Retry: 60                   # 重连时间
Master_Log_File: mysql-bin.000003   # 主mysql 上的二进制文件 名 
Read_Master_Log_Pos: 591                    # 指针位置
Relay_Log_File: mysql-relay-bin.000002      # 中继日志文件名
Relay_Log_Pos: 875                          # 指针位置 
Relay_Master_Log_File: mysql-bin.000003     #  
Slave_IO_Running: Yes                       # IO 进程, 用于去主mysql 拿数据 
Slave_SQL_Running: Yes                      # mysql 进程, 用于读取拿到的二进制文件 执行mysql语句  当看到Slave_IO_Running: YES、Slave_SQL_Running: YES才表明状态正常
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table: mysql.%,test.%,information_schema.%
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 591
Relay_Log_Space: 1169
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1



 

以上是 server1 为master , server2为slave 的配置, 反过来再配置一边 就是主主复制了。

 

转载于:https://www.cnblogs.com/blogscc/p/8286989.html

配置是怎样的? 要配置CentOS 7上的MariaDB主主复制,您需要执行以下步骤: 1. 在两台服务器上安装MariaDB并确保版本一致。 2. 在主服务器上编辑MariaDB配置文件(通常位于/etc/my.cnf.d/目录下),添加以下配置: ``` [mysqld] server-id = 1 log-bin = /var/log/mysql/mysql-bin.log binlog-do-db = your_database_name ``` 这里,server-id是服务器的唯一标识,log-bin指定二进制日志文件的位置,binlog-do-db指定需要复制的数据库名称。 3. 在主服务器上重启MariaDB以使配置生效:`systemctl restart mariadb`。 4. 在主服务器上创建一个具有复制权限的用户,并为其分配密码。 5. 在从服务器上编辑MariaDB配置文件,添加以下配置: ``` [mysqld] server-id = 2 log-bin = /var/log/mysql/mysql-bin.log binlog-do-db = your_database_name ``` 这里,server-id应该是唯一的,并且与主服务器不同。 6. 在从服务器上重启MariaDB以使配置生效:`systemctl restart mariadb`。 7. 在从服务器上使用以下命令连接到主服务器并设置主服务器的相关信息: ``` CHANGE MASTER TO MASTER_HOST='主服务器IP地址', MASTER_USER='复制用户', MASTER_PASSWORD='复制用户密码', MASTER_LOG_FILE='主服务器二进制日志文件名', MASTER_LOG_POS=0; ``` 这里,您需要替换主服务器IP地址、复制用户和密码、主服务器二进制日志文件名。 8. 使用以下命令启动从服务器的复制进程: ``` START SLAVE; ``` 9. 检查从服务器的复制状态,使用以下命令: ``` SHOW SLAVE STATUS\G; ``` 确保Slave_IO_Running和Slave_SQL_Running都显示为"Yes",这表示复制正在正常工作。 通过按照以上步骤进行配置,您就可以在CentOS 7上实现MariaDB主主复制了。请记住,在配置复制之前,确保主服务器和从服务器之间可以相互访问,并且数据库名称一致。 我希望这对您有所帮助!如有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值