mariadb的主从配置

 

主库配置

修改mariadb配置文件,开启binlog日志以及指定binlog日志文件名,指定server-id,server-id不能与从库重复。指定binlog-format格式,有三种格式分别是Row,Statement,Mixed,设置允许被复制的库

vim  /etc/my.cnf
[mysqld]
***
*****
log-bin=mysql-bin
server-id=103
binlog-format="mixed"
binlog-do-db=dbname1,dbname2                     #允许被复制的库,如果多个以,号隔开
binlog-ignore-db=mysql,performance_schema        #不允许被复制的库
log_slave_updates                                #主库一定要启用,记录从库更新,允许链路复制

*****
***

重启Mariadb使之生效

systemctl restart mariadb

添加同步账号

MariaDB [(none)]>grant  replication  slave  on  *.*   to   repl@'从库服务器ip'   identified by  '123456';

查看主库master的file文件名以及pos位置,记住这两个信息从库指定主库master的适合需要使用。

MariaDB [(none)]> show master status;
+------------------+-----------+--------------+------------------+
| File             | Position  | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.000001 | 000222222 |              |                  |
+------------------+-----------+--------------+------------------+

sql命令行执行全局锁表命令,防止新数据写入

MariaDB [(none)]>flush tables with read lock;

导出需要备份对应的库

mysqldump -uroot -p123456 --databases  dbname1   dbname2 >  dbname.sql

 把导出数据使用scp命令传到从库服务器

scp dbname.sql root@1.1.1.1:.

 

从库配置

修改mariadb配置文件,开启binlog日志以及指定binlog日志文件名,指定server-id,server-id不能与主库重复。指定binlog-format格式,有三种格式分别是Row,Statement,Mixed,设置需要复制的库。

vim  /etc/my.cnf
[mysqld]
***
*****
log-bin=mysql-bin
relay_log=mysql-relay-bin
server-id=104
binlog-format="mixed"
replicate-do-db=dbname1,dbname2                     #只同步的库,如果多个以,号隔开
replicate-ignore-db=mysql,performance_schema        #不同步的库

*****
***

重启Mariadb使之生效

 

systemctl restart mariadb

提前创建数据库

MariaDB [(none)]> create database dbname1;
MariaDB [(none)]> create database dbname2;

把主库导出的数据导入从库

mysql -uroot -p123456 --databases  dbname1   dbname2 <  dbname.sql

指定主库master信息

MariaDB [(none)]>change master to master_host='主库服务器ip', master_user='slave', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=000222222;

启动slave并查看slave状态如果IO以及SQL进程都是yes则证明主从配置正常。

MariaDB [(none)]>start slave;
MariaDB [(none)]>show slave status\G;

             Slave_IO_Running: Yes
             Slave_SQL_Running: Yes

 

 

 

主库解除锁表状态

MariaDB [(none)]>unlock tables;

最后可在主库创建个表添加几条数据测试从库是否同步过来。

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值