CentOS7+MySQL5.6配置主从

一、安装环境
操作系统:CentOS-7-x86_64-Minimal-1810.iso

安装来源:mysql57-community-release-el7-10.noarch.rpm

数据库版本:mysql57-community-release-el7-10.noarch

数据库地址:
  192.168.176.218(主)
  192.168.176.219(从)

首先保证3306端口的可用,或者关闭防火墙,两台服务器可以互相ping通过

准备工作:

两台数据库先进行手动数据同步,已完成请略过。

  • 主库导出SQL脚本
mysqldump -uroot -pmysql --all-databases --lock-all-tables > ~/master_db.sql
# 说明
-u :用户名
-p :示密码
--all-databases :导出所有数据库
--lock-all-tables :执行操作时锁住所有表,防止操作时有数据修改
~/master_db.sql :导出的备份数据(sql文件)位置,可自己指定
  • 从库执行SQL脚本进行还原
mysql –uroot –pmysql < master_db.sql
二、Master的配置

1、修改MySQL配置文件

[root@localhost ~]# vim /etc/my.cnf

2、编辑后如下:

[mysqld]
#开启二进制日志
log-bin=mysql-bin
#标识唯一id(必须),一般使用ip最后位
server-id=2
#不同步的数据库,可设置多个(可以不设置)
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
binlog-ignore-db=mysql
#指定需要同步的数据库(和slave是相互匹配的),可以设置多个(可以不设置)
binlog-do-db=test

3、 添加日志存储方式和规则(选填)

#设置存储模式不设置默认
binlog_format=MIXED
#日志清理时间
expire_logs_days=7
#日志大小
max_binlog_size=100m
#缓存大小
binlog_cache_size=4m
#最大缓存大小
max_binlog_cache_size=521m

4、重启MySQL

systemctl restart mysqld.service
或者:
service mysqld restart

5、登录MySQL主库,设置允许从库获得主库日志

#给从库放权限
#创建用户
mysql>GRANT FILE ON *.* TO 'slave'@'%' IDENTIFIED BY 'slave123';
#修改用户权限
mysql>GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'slave123';  
#刷新权限
mysql>FLUSH PRIVILEGES;   

6、查看主库信息

mysql> show master status;
+------------------+----------+--------------+----------------------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB                 | Executed_Gtid_Set |
+------------------+----------+--------------+----------------------------------+-------------------+
| mysql-bin.000001 |    1296 | ufind_db     | information_schema,cluster,mysql |                   |
+------------------+----------+--------------+----------------------------------+-------------------+
1 row in set (0.00 sec)
 
mysql>

注:如果执行这个步骤始终为Empty set(0.00 sec),那说明前面的my.cnf没配置对

三、Slave的配置

1、修改从库配置,编辑后如下:

server-id=3
#开启二进制日志(可以不配置)
log-bin=mysql-bin
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
#与主库配置一直
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
slave-net-timeout=60

2、登录MySQL从库,设置连接主库配置,并且开启同步

#同步连接配置
mysql> change master to master_host='192.168.176.218', master_user='slave', master_password='slave123',master_log_file='mysql-bin.000001', master_log_pos=1296;
#开启同步
mysql> start slave
#关闭同步
#mysql> stop slave

3、查看从库同步状态信息

mysql> show slave status \G;
#确认以下信息,两个都为YES则表示设置同步成功
Slave_IO_Running: Yes  //显示yes为成功
Slave_SQL_Running: Yes  //显示yes为成功,如果为no,一般为没有启动master
四、测试同步
  • 测试同步可以通过新增\修改数据库、表、视图等确认
  • 也可以通过对表数据的操作的变化来确认

转载于:https://www.cnblogs.com/osheep/p/11294209.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值