mysql 从库开启复制慢日志_Mysql主从复制

MySQL Replication

主从复制介绍

1.主从复制基于binlog来实现的

2.主库发生新的操作,都会记录binlog

3.从库取得主库的binlog进行回放

4.主从复制的过程时异步

搭建主从复制

1.2个或以上的数据库实例

2.主库需要开启二进制日志

3.server_id要不同,区分不同的节点

4.主库需要建立专用的复制用户(replication slave)

5.人为告诉从库一些复制信息(ip,port user pass,二进制日志起点)

6.从库应该开启专门的复制线程

准备多实例

pkill mysqld

systemctl start mysqld 3307

初始化3308

mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/3308/data

systemctl start mysqld3308

mysql -S /data/3308/mysql.sock

检查3307

mysql -uroot -p123456 -S /data/3307/mysql.sock -e 'select @@port'

检查配置文件

主库:二进制日志是否开启

3307

[mysqld]

basedir=/application/mysql

datadir=/data/3307/data

socket=/data/3307/mysql.sock

port=3307

server_id=7

log_bin=/data/3307/mysql-bin

3308

[mysqld]

basedir=/application/mysql

datadir=/data/3308/data

socket=/data/3308/mysql.sock

port=3308

server_id=8

log_bin=/data/3308/mysql-bin

主库创建复制用户

mysql -uroot -p123456 -S /data/3307/mysql.sock -e "grant replication slave on *.* to repl@'10.0.0.%' identified by '123456';"

主库进行全备

mysqldump -root -p123456 -S /data/3307/mysql.sock -A --master-data=2 --single-transaction -R -E --triggers >/tmp/full.sql

从库

mysql -uroot -p123456 -S /tmp/full.sql

set sql_log_bin=0;

source /tmp/full.sql

告诉从库复制信息

查看起始点

more /tmp/full.sql

-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=444;

登陆数据库

mysql -uroot -p123456 -S /data/3308/mysql.scok

CHANGE MASTER TO

MASTER_HOST='10.0.0.51', #主机IP或主机名

MASTER_USER='repl', #用户

MASTER_PASSWORD='123456', #密码

MASTER_PORT=3307, #端口

MASTER_LOG_FILE='mysql-bin.000003', #binlog日志

MASTER_LOG_POS=444, #起点

MASTER_CONNECT_RETRY=10;

从库开启复制线程(IO,SQL)

start slave;

检查主从复制的状态

show status slave \G

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

主库创建一个数据库

create database hahaha;

从库检查

show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| backup |

| binlog |

| gtid |

| hahaha |

| mysql |

| perform

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL主从复制是一种常见的数据库备份和负载均衡方案。在主从复制中,主库将更新记录到二进制志中,从库通过读取主库的二进制日志来同步更新。在这个过程中,如果从库的Slave_IO_Running状态为No,则说明从库无法连接到主库或者无法读取主库的二进制日志。这可能是由于以下原因导致的: 1. 主库无法连接:从库无法连接到主库,可能是由于网络故障、主库宕机或者主库防火墙等原因导致的。可以通过ping主库IP地址或者telnet主库的3306端口来检查主库是否可达。 2. 主库二进制日志文件不存在:从库无法读取主库的二进制日志文件,可能是由于主库的二进制日志文件已经被删除或者被移动到其他位置导致的。可以通过在主库上执行show master status命令来查看当前的二进制日志文件名和位置。 3. 从库配置错误:从库的配置文件中可能存在错误,例如主库的IP地址、端口号、用户名、密码等信息配置错误,或者主从库的server_id没有设置或者设置重复等问题。可以通过检查从库的配置文件my.cnf来查看是否存在配置错误。 如果从库的Slave_IO_Running状态为No,可以尝试执行以下步骤来解决问题: 1. 检查主库和从库的网络连接是否正常,确保从库可以ping通主库的IP地址或者telnet主库的3306端口。 2. 在主库上执行show master status命令,查看当前的二进制日志文件名和位置,并在从库上执行change master to命令,将主库的二进制日志文件名和位置设置为与主库一致。 3. 检查从库的配置文件my.cnf,确保主库的IP地址、端口号、用户名、密码等信息配置正确,且server_id没有设置或者设置正确。 4. 在从库上执行start slave命令,重新启动从库复制进程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值