mysql 主从复制搭建

主从复制,需要先做一次存量的数据复制,再配主从完成增量复制
192.168.0.105 主
192.168.0.106 从
---------------------------------------------
热备份
1.进入 mysql 查看数据库 
mysql -u root -p 123456 -h 192.168.0.105 -P 3307
mysql > show databases;

2.master 锁表
mysql > flush table with read lock;

3.备份相应数据库
mysql > mysqldump -uroot -p123456 --databases consult mall > back.sql

4.master 解锁
mysql > unlock tables;

5.slave 导入数据
mysql -u root -p 123456 -h 192.168.0.106 -P 3307
mysql > mysql -uroot -p123456 < back.sql
---------------------------------------------
异步主从复制环境搭建

//# 关闭防火墙
systemctl stop firewalld.service

//# 启动 docker
systemctl start docker

//# 创建并启动 mysql 容器
docker run --name mysql3307 -p 3307:3306 
//# 开启权限,操作宿主机文件
--privileged=true -ti 
-e MYSQL_ROOT_PASSWORD=123456 
-e MYSQL_DATABASE=enjoy 
-e MYSQL_USER=user 
-e MYSQL_PASSWORD=pass 
-v /home/mysql/docker-data/3307/conf:/etc/mysql/conf.d 
//# mysql bin log 目录
-v /home/mysql/docker-data/3307/data/:/var/lib/mysql 
-v /home/mysql/docker-data/3307/logs/:/var/log/mysql 
-d mysql:5.7

---------------------------------------------
master 配置
/etc/mysql/conf.d/my.cnf
---------------------------------------------
//# 节点标识
server-id=135
//# 开启复制功能
log-bin=mysql-bin
//# 主主复制时,防止主主 id 冲突
//# id 自增步长
auto_increment_increment=2
//# 起始 id 偏移量
auto_increment_offset=1
//# 忽略大小写
lower_case_table_names=1
//# 需要同步的数据库, mstest
//# binlog-do-db=mstest  
//# 需

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MySQL主从复制是指将一个MySQL数据库的变化同步到另一个MySQL数据库上,从而实现数据的备份、负载均衡、读写分离等功能。下面我们来介绍一下MySQL主从复制搭建过程。 1. 配置主服务器 首先需要在主服务器上配置一些参数。打开MySQL配置文件my.cnf,在[mysqld]下添加以下内容: ``` server-id=1 #服务器唯一ID log-bin=mysql-bin #启用二进制日志 binlog-do-db=testdb #指定需要复制的数据库名 ``` 然后重启MySQL服务。 2. 配置从服务器 接着需要在从服务器上配置一些参数。打开MySQL配置文件my.cnf,在[mysqld]下添加以下内容: ``` server-id=2 #服务器唯一ID,要保证与主服务器不同 ``` 然后重启MySQL服务。 3. 创建复制用户并授权 在主服务器上创建一个用于复制的用户,并授权给从服务器使用。在MySQL命令行中输入以下命令: ``` CREATE USER 'replication'@'%' IDENTIFIED BY 'password'; #创建用户 GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%'; #授权 ``` 其中,'password'是复制用户的密码。 4. 获取主服务器状态信息 在主服务器上执行以下命令,获取主服务器的状态信息: ``` SHOW MASTER STATUS; ``` 会显示出如下信息: ``` +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000001 | 120 | testdb | | | +------------------+----------+--------------+------------------+-------------------+ ``` 其中,File列和Position列的值会在后面的步骤中用到。 5. 配置从服务器复制信息 在从服务器上执行以下命令,配置从服务器的复制信息: ``` CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', #主服务器的File值 MASTER_LOG_POS=120; #主服务器的Position值 ``` 其中,master_ip是主服务器的IP地址,'password'是复制用户的密码,mysql-bin.000001和120分别是主服务器的File值和Position值。 6. 开启从服务器复制 在从服务器上执行以下命令,开启从服务器的复制: ``` START SLAVE; ``` 执行成功后,可以使用以下命令查看从服务器的状态: ``` SHOW SLAVE STATUS\G; ``` 如果看到“Slave_IO_Running”和“Slave_SQL_Running”两项都为“YES”,则说明从服务器复制已经正常启动。 至此,MySQL主从复制搭建完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叫我三师弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值