Mysql主从复制,备份库
配置文件所在目录:
Windows:
Linux:
Mysqldump(备份程序)所在目录:
windows:
Linux:
- 服务器划分
服务器IP | 角色 |
---|---|
192.168.1.223 | Master0(主) |
192.168.1.113 | Slave1(从) |
一、备份库
1.在需要备份的数据库的配置文件下配置以下内容:
[mysqldump]
user = root
password = 密码
2.执行备份命令
锁库命令 flush tables with read lock;
解锁 unlock tables;
全部操作完再解锁
mysqldump 数据库名 -u root >输入的文件名.sql
二、主从复制配置
1.在主数据库内的配置文件下添加一下配置文件
[mysqld]
`````原有代码``````
# 主从复制-主机配置
# 主服务器唯一ID
server-id=1
# 启用二进制日志
log-bin=mysql-bin
# 设置不要复制的数据库(可设置多个)
binlog-ignore-db=sys
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
# 设置需要复制的数据库(可设置多个) 不设置则复制全部
binlog-do-db=test
# 设置logbin格式
binlog_format=STATEMENT
2.从数据库设置
[mysqld]
`````原有代码``````
# 主从复制-从机配置
# 从服务器唯一ID
server-id=2
# 启用中继日志
relay-log=mysql-relay
3.主从数据库测试是否可以远程访问
# 主数据库服务器测试从数据库
mysql -uroot -p -h192.168.1.113 -P3306
# 从数据库服务器测试主数据库
mysql -uroot -p -h192.168.1.223 -P3306
4.主数据库创建用户slave并授权
# 登录
mysql -uroot -p
# 创建用户
create user 'slave'@'%' identified with mysql_native_password by '密码';
# 授权
grant replication slave on *.* to 'slave'@'%';
# 刷新权限
flush privileges;
5.从数据库验证slave用户是否可用
mysql -uslave -p -h192.168.1.223 -P3306
6.主数据库查询服务ID及Master状态
# 登录
mysql -uroot -p
# 查询server_id是否可配置文件中一致
show variables like 'server_id';
# 若不一致,可设置临时ID(重启失效)
set global server_id = 1;
# 查询Master状态,并记录 File 和 Position 的值
show master status;
# 注意:执行完此步骤后退出主数据库,防止再次操作导致 File 和 Position 的值发生变化
7.从数据库中设置主数据库
# 登录
mysql -uroot -p
# 查询server_id是否可配置文件中一致
show variables like 'server_id';
# 若不一致,可设置临时ID(重启失效)
set global server_id = 2;
# 设置主数据库参数
change master to master_host='192.168.1.223',master_port=3306,master_user='slave',master_password='password',master_log_file='mysql-bin.000002',master_log_pos=156;
# 开始同步
start slave;
# 若出现错误,则停止同步,重置后再次启动
stop slave;
reset slave;
start slave;
# 查询Slave状态
show slave status\G
# 查看是否配置成功
# 查看参数 Slave_IO_Running 和 Slave_SQL_Running 是否都为yes,则证明配置成功。若为no,则需要查看对应的 Last_IO_Error 或 Last_SQL_Error 的异常值。
参考资料:
Linux安装Mysql8.0.20并配置主从复制(一主一从,双主双从) - C3Stones - 博客园 (cnblogs.com)
Geek
本文作者:Mozziemy
本文链接:https://www.cnblogs.com/mozziemy/p/18221768
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示