MySql主从配置

主从配置

作用:

  1. 做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。
  2. 架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。
  3. 读写分离,使数据库能支撑更大的并发。在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。
主库配置
  1. 修改/ect/my.conf配置文件
#要给从机同步的库(如果不写,默认全部同步)
binlog-do-db=smart-qa
#不给从机同步的库(多个写多行)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
#自动清理 7 天前的log文件,可根据需要修改
expire_logs_days=7
# 启用二进制日志
log-bin=master-bin
sync_binlog=1
binlog_format=MIXED
# 服务器唯一ID,一般取IP最后一段
server-id=128
  1. 重启mysql服务
  systemctl restart mysqld
  1. 设置从服务器服务权限,方便从服务器用户读取赋值主服务器内容
  mysql  mysql -uroot -p 
  grant replication slave,replication client on *.* to '从库账号'@'从库ip' identified by '从库登陆密码';
  flush privileges;# 使以上命令立即生效
  show master status; # 查看主服务器的状态,记住此时的File和Position,配置从服务器的时候会用上
从库配置
  1. 修改/etc/my.conf配置文件
  #要同步的库(如果不写,默认全部同步)
  replicate-do-db=smart-qa
  #不同步的库(多个写多行)
  replicate-ignore-db=mysql
  replicate-ignore-db=information_schema
  replicate-ignore-db=performance_schema
  replicate-ignore-db=sys
  #加上以下参数可以避免更新不及时,SLAVE 重启后导致的主从复制出错
  read_only=1
  master_info_repository=TABLE
  relay_log_info_repository=TABLE
  relay-log=slave-relay-bin
  #主服务器I/O日志读取、记录及存放
  relay-log-index=slave-relay-bin.index
  # 启用二进制日志
  log-bin=master-bin
  # 服务器唯一ID,一般取IP最后一段
  server-id=130
  1. 重启mysql服务
  systemcti restart mysqld
  1. 设置主库信息
 mysql  mysql -uroot -p 
 stop slave; # 停止同步
 CHANGE MASTER TO MASTER_HOST='主库ip',MASTER_PORT=主库端口,MASTER_USER='主库mysql用户',MASTER_PASSWORD='主库mysql密码',MASTER_LOG_FILE='上面获取的FIEL',MASTER_LOG_POS=上面获取的position; # MASTER_LOG_FILE 从主库的该log_bin文件开始读取同步信息,主库show master status返回结果,MASTER_LOG_POS 从文件中指定位置开始读取,主库show master status返回结果
 start slave; # 开始同步
 show slave status\G; # 查看同步状态 ,只有【Slave_IO_Running】和【Slave_SQL_Running】都是Yes,则同步是正常的。如果是No或者Connecting都不行,可查看mysql-error.log,以排查问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MySQL主从复制是一种常用的数据库复制技术,用于实现数据的备份、负载均衡和故障恢复等功能。主从配置中,一个数据库服务器充当主服务器(Master),而其他一个或多个数据库服务器充当从服务器(Slave)。 下面是MySQL主从配置的基本步骤: 1. 在主服务器上配置binlog日志:编辑主服务器的配置文件my.cnf,在[mysqld]部分中添加`log_bin`参数,并设置一个唯一标识符。 2. 重启主服务器:重启MySQL服务以使配置生效。 3. 创建用于复制的账户:在主服务器上创建一个用于复制的账户,并赋予复制权限。 4. 在从服务器上配置复制:编辑从服务器的配置文件my.cnf,在[mysqld]部分中添加`server-id`参数,并设置一个唯一标识符。同时,设置`master_host`为主服务器的IP地址,`master_user`和`master_password`为复制账户的用户名和密码。 5. 启动从服务器:启动从服务器上的MySQL服务。 6. 在从服务器上连接到主服务器:在从服务器上使用`CHANGE MASTER TO`语句连接到主服务器,并指定主服务器的相关信息。 7. 启动从服务器的复制进程:使用`START SLAVE`语句启动从服务器上的复制进程。 8. 检查主从状态:使用`SHOW SLAVE STATUS`命令来查看主从状态,确保复制正常运行。 通过以上步骤,你就可以完成MySQL主从配置。主服务器会将更新操作记录到binlog日志中,然后从服务器从主服务器获取并应用这些日志,实现数据的复制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值