当前位置: 代码网 > it编程>数据库>Mysql > MySQL主从数据库搭建的实现

MySQL主从数据库搭建的实现

2025年06月13日 Mysql 我要评论
学习了如何搭建mysql主从数据库,为加深印象,写了这篇博客作为总结。本篇文章使用的是mysql8.0,主库使用windows操作系统,从库使用linux。1. 数据库配置在主库对mysql进行配置。

学习了如何搭建mysql主从数据库,为加深印象,写了这篇博客作为总结。本篇文章使用的是mysql8.0,主库使用windows操作系统,从库使用linux。

1. 数据库配置

在主库对mysql进行配置。如果是linux,需配置my.cnf或mysql.cnf,如果是windows,需在c:\programdata\mysql\mysql server 8.0配置my.ini。
在配置文件的[mysqld]下添加如下配置:

server-id = 1	#如已经有该配置,则不用再次添加。和从库的server-id不同即可。
log-bin = mysql-bin
binlog_format = row
gtid_mode = on
enforce_gtid_consistency = on

从库同样在配置文件里添加以下内容:

server-id = 2
relay-log = mysql-relay-bin
read_only = 1
gtid_mode = on
enforce_gtid_consistency = on
#跳过 mysql 系统库的复制
replicate-ignore-db = mysql
replicate-ignore-db = sys
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema

配置完成后重启mysql服务

2. 创建复制用户

创建并分配用户权限

create user 'repl_user'@'%' identified by 'strongpassword!';
grant replication slave, replication client, replication_applier 
on *.* to 'repl_user'@'%';
flush privileges;

修改用户认证方式

alter user 'repl_user'@'%' 
identified with mysql_native_password 
by 'strongpassword!';
flush privileges;

注:认证方式修改只需在主库进行(从库连接主库时使用)

3. 主库状态查询

主库登录mysql,执行show master status;查询并记录输出中的 file 和 position,稍后从库需要用到。

4.ssl配置

在c:\programdata\mysql\mysql server 8.0\data查询是否有ca.pem、ca-key.pem、server-key.pem和server-cert-pem。如果没有,需要使用openssl进行生成。
在主库配置文件的[mysqld]下添加以下内容:

ssl-ca = ca.pem
ssl-cert = server-cert.pem
ssl-key = server-key.pem

5. 导入数据库,开启复制线程

在主库登录mysql,执行mysqldump -u root -p --single-transaction --master-data=2 --routines --triggers --all-databases > full_backup.sql导出数据库文件。发送到linux虚拟机后,执行mysql -u root -p < full_backup.sql进行导入。

6. 从库配置

在linux登录mysql,执行以下命令:

change replication source to
  source_host = '192.168.8.100',		#填写主库的实际ip,建议使用固定ip
  source_user = 'repl_user',
  source_password = 'strongpassword!',
  source_log_file = 'mysql-bin.000002',		#第三步查询到的file
  source_log_pos = 1330,		#第三步查询到的position
  source_ssl = 1;	#启用ssl

导入完成,执行start replica;开启复制线程即可。
开启后可执行show replica status\g;查询从库配置的具体状态。正常情况下应该没有error信息,replica_io_running和replica_sql_running都是yes。

到此这篇关于mysql主从数据库搭建的实现的文章就介绍到这了,更多相关mysql主从数据库搭建内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com