mysql 主从复制搭建

master配置

1.接入mysql并创建主从复制的用户
create user m2ssync identified by ‘Qq123!@#’;
2.给新建的用户赋权
GRANT REPLICATION SLAVE ON . TO
‘m2ssync’@’%’ IDENTIFIED BY ‘Qq123!@#’;
3.指定服务ID, 开启binlog日志记录, 在my.cnf
中加入
server-id=137
log-bin=dbstore_binlog
binlog-do-db=db_store / /这个是针对某个库做主从复制
4.通过SHOW MASTER STATUS;查看Master db状
态.

在这里插入图片描述

slave配置

1.指定服务器ID, 指定同步的binlog存储位置, 在
my.cnf中加入
server-id=101
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index
read_only=1
replicate_do_db=db_store
2.接入slave的mysql服务, 并配置change master to
master_host=‘192.168.8.137’,
master_port=3306,
master_user=‘m2ssync’,
master_password=‘Qq123!@#’,
master_log_file=‘db_stoere_binlog’, // 这个要跟master status 的 file名字一致
master_log_pos=0; //这个要跟master status 的 position 一致
3.start slave;
4. show slave status\G ;查看slave服务器状态
当看到
SLAVE_IO_RUNNING=YES
SLAVE_SQL_RUNNING=YES
就OK了

Issues

一、主从复制的延迟是怎么产生的?
1.当master tps 高于slave的sql线程所能承受的范围
2.网络原因
3.磁盘读写耗时

二、如何判断延迟?
1.show slave status \G;seconds_behind_master 0
2.mk-heartbeat

三、我们怎么解决延迟问题?
1.配置更高的硬件资源
2.把IOthread 改变成多线程的方式
mysql5.6 多线程方式
3.GTID进行多线程的方式

  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值