3. MariaDB设置主从复制

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 翻译人员: 铁锚 翻译日期: 2013年12月25日 原文链接:  Setting Up Replication 主从复制包含两个步骤: 在 master 主服务器(组)上的设置,以及在 slave 从属服务器(组)上的设置.

翻译人员: 铁锚

翻译日期: 2013年12月25日

原文链接:  Setting Up Replication

主从复制包含两个步骤: 在 master 主服务器(组)上的设置,以及在 slave 从属服务器(组)上的设置.

配置主服务器 master
  1. 如果没有启用,则需要 激活二进制日志.
  2. 给 master 设置唯一的  server_id ,所有的 slave 从属服务器也要设置  server_id; server_id值可以是整数型的数字(1 ~ 2^31-1), 在同一个复制组(replicating group)中的每台服务器的server_id都必须是唯一的.
  3. slave 从属服务器需要有连接并从master复制的权限. 通常是为每一台slave 创建一个单独的用户(user),并且只授予复制的权限(REPLICATION SLAVE 权限).
示例
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'slave_host' IDENTIFIED BY 'bigs3cret'; 
FLUSH PRIVILEGES;
需要注意,有一些系统配置选项可能会影响主从复制,查看下面的变量以避免发生问题:
skip-networking,如果 "skip-networking=1",则服务器将限制只能由localhost连接,阻止其他机器远程连到此服务器上。
bind_address,类似地,如果 服务器只监听 127.0.0.1(localhost)的TCP/IP连接,则远程的 slave也不能连接到此服务器.
配置从属服务器 slave
  1. 给 slave 指定唯一的 server_id. 所有服务器,不管是主服务器,还是从服务器,都要设置 server_id. server_id值可以是整数型的数字(1 ~ 2^31-1), 在同一个复制组(replicating group)中的每台(/个)服务器的server_id都必须是唯一的.
要让此配置项生效,需要重新启动服务.
获取 master 的二进制日志坐标
当查看当前 二进制日志 的position(位置)时,需要阻止任何数据库的提交.可以通过此坐标点告诉slave服务器从哪一个特定的点开始复制。
  1. 在 master上执行命令 "FLUSH TABLES WITH READ LOCK",以强制写入日志,并锁定所有的表 —— 在此期间不能关闭会话,一关闭会话就会释放锁.
  2. 通过运行 "SHOW MASTER STATUS" 来获取二进制日志的当前位置信息.
  3. 记下 File 以及 Position 信息. 如果刚刚才开启了二进制日志功能,则为空.
  4. 然后,开始从master 拷贝 data 到 slave,请参考: Backup, Restore and Import
  5. 将数据从master拷贝到slave以后,可以执行"UNLOCK TABLES;"释放master上的锁。

示例如下:
--
SHOW MASTER STATUS;
+--------------------+----------+--------------+------------------+
| File               | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+----------+--------------+------------------+
| mariadb-bin.000096 |      568 |              |                  |
+--------------------+----------+--------------+------------------+
--

启动从属服务器 Slave
数据导入以后,就可以启动复制功能了。 通过执行 " CHANGE MASTER TO" 来开始.
确保 " MASTER_LOG_FILE",以及 " MASTER_LOG_POS" 与master早时候记下的信息一致.
示例如下:
CHANGE MASTER TO
  MASTER_HOST='master.domain.com',
  MASTER_USER='replication_user',
  MASTER_PASSWORD='bigs3cret',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='mariadb-bin.000096',
  MASTER_LOG_POS=568,
  MASTER_CONNECT_RETRY=10;
然后,启动slave
START SLAVE;
查看 slave状态:
SHOW SLAVE STATUS;

如果需要暂停 slave 复制,则可使用SQL :

stop slave;
说明: 假如停止 MYSQL(MariaDB),然后重新启动,则 Slave会随mysqld 自动启动.所以不需要担心日常的重启等操作.
[root@AY13 mysql]# service mysql stop
Shutting down MySQL. SUCCESS! 
[root@AY13 mysql]# service mysql start
Starting MySQL.. SUCCESS! 
更多问题,欢迎加入QQ群 《脚本娃娃-桃花岛》进行讨论,口令: Ext




相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
Java 关系型数据库 MySQL
java连接mariaDB的设置
java连接mariaDB的设置
1098 0
|
关系型数据库 MySQL 网络安全
MariaDB主从复制(一主一从)
MariaDB主从复制(一主一从)
338 0
|
关系型数据库 MySQL 网络安全
mariadb主从复制
使用阿里云产品简单实现mariadb主从复制
|
存储 Oracle 关系型数据库
MariaDB主从复制虚拟机实战
MariaDB主从复制虚拟机实战
426 0
|
关系型数据库 MySQL 数据安全/隐私保护
Mariadb安装之后的各种设置
Mariadb安装之后的各种设置 1、启动MariaDB 安装完成MariaDB,首先启动MariaDB,两条命令都可以 systemctl start mariadb 或者 service mariadb start 设置开机启动 systemctl enable mariadb .
2332 0
|
SQL 关系型数据库 MySQL
MariaDB主从复制搭建
我的github 安装MySQL服务器 安装数据库 yum install -y mariadb-server 初始化数据库 mysql_secure_installation #MySql初始化脚本,以下为每一项的翻译 是否设置root密码 输入密码 确认密码 ...
4410 0
|
关系型数据库 测试技术 数据库
|
监控 关系型数据库 数据库
|
MySQL 关系型数据库 网络安全

推荐镜像

更多