mysql5.7 数据库主从同步实现
2023-12-29 17:28:30
? ?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_FILE
和MASTER_LOG_POS
: 这些值从主数据库的SHOW MASTER STATUS
命令中获取。
2? 在从库操作启动同步
START SLAVE;
?3? 查看mysql主从同步状态
SHOW SLAVE STATUS
?
文章来源:https://blog.csdn.net/qyhua/article/details/135291025
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!