mysql5.7 数据库主从同步实现

   mysql5.7 数据库主从同步实现,实操环境:linux centos7 

一,安装mysql5.7

1  配置MySql5.7的 Yum仓库配置

yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

2 安装mysql5.7

yum install -y mysql-community-server

3 启动mysql

systemctl start mysqld

4 设置开机启动

systemctl enable mysqld

5 查看安装时生成的root 密码

grep 'temporary password' /var/log/mysqld.log

6 验证安装,访问mysql

mysql -u root -p

二 配置主库

 1 修改主库配置文件 

    在主数据库上进行一些配置更改,以允许从数据库连接并复制数据。编辑主数据库的配置文件,

    centos 系统的mysql配置文件默认路径:/etc/my.cnf


[mysqld]

#同步ID,唯一即可,不要与从库一样
server-id=1

log-bin=mysql-bin

#批定同步的数据库名称
binlog-do-db=dbname

#排除不同步的数据库
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=sys

#设置保留文件时间
expire_logs_days=3

说明:

  • server-id: 主服务器的唯一标识符,每个服务器必须有一个唯一的ID。
  • log-bin: 启用二进制日志,这是主从复制的数据。
  • binlog-do-db: 指定要同步复制的数据库名称。
  • binlog-ignore-db:排除同步的数据库。
  • exprie_logs_days:保存同步数据的时间,单位为天,这个建议根据业务和磁盘占用大小设置

2 重启生效

      重启从数据库使配置更改生效。 

3 给从库配置账号

CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;

说明:在主数据库中创建一个用户,该用户将被用于连接主数据库复制数据到从库。 

三 配置从库

 1 从库配置文件

[mysqld]
server_id=10
replicate-do-db=kyc

#不要同步的表
replicate-ignore-table=dbname.table_name
replicate-ignore-table=dbname.xxx_%

#可用于忽略错误sql数量,处理异常情况下可能会用到
slave-skip-errors=10

说明 

  • server-id: 从服务器的唯一标识符,每个服务器必须有一个唯一的ID。
  • replicate-do-db:同步的数据库名称。
  • replicate-ignore-table:根据业务需求可以排除不同步的表。
  • slave-skip-errors:跳过执行时错误的sql数量(遇到错误的sql同步会停止)。

2 重启生效

   重启从数据库使配置更改生效。 

四 执行同步

1  在从库操作执行连接主库

CHANGE MASTER TO
  MASTER_HOST='master_host',
  MASTER_USER='replication_user',
  MASTER_PASSWORD='password',
  MASTER_LOG_FILE='mysql-bin.xxxxxx',
  MASTER_LOG_POS=xxx;
  • MASTER_HOST: 主数据库的IP地址。
  • MASTER_USER: 账户。
  • MASTER_PASSWORD:账户的密码。
  • MASTER_LOG_FILEMASTER_LOG_POS: 这些值从主数据库的 SHOW MASTER STATUS 命令中获取。

2  在从库操作启动同步

START SLAVE;

 3  查看mysql主从同步状态

SHOW SLAVE STATUS

 

你可能感兴趣的:(redis,linux,数据库)