MySQL主从介绍 准备工作 配置主 配置从 测试主从同步
配置主: • 安装mysql • 修改my.cnf,增加server-id=130和log_bin=xiaobo1 • 添加环境变量 Vim /root/.bash_profile PATH=$PATH:/usr/local/mysql/bin/ 生效source !$ • 修改完配置文件后,启动或者重启mysqld服务 • /etc/init.d/mysqld restart • 把mysql库备份并恢复成xiaobo库,作为测试数据 • mysqldump -uroot -pxiaobo mysql > /tmp/mysql.sql • mysql -uroot -pxiaobo -e “create database xiaobo” • mysql -uroot -pxiaobo xiaobo < /tmp/mysql.sql • 创建用作同步数据的用户 《参考修改mysql密码mysqladmin -uroot password 'xiaobo' 进入mysql mysql -uroot -pxiaobo • grant replication slave on *.* to 'repl'@10.211.55.52 identified by 'xiaobo'; • flush tables with read lock; (暂时锁住表) • show master status; • 退出 quit
配置从 • 安装mysql • 查看my.cnf,配置server-id=132,要求和主不一样 • 修改完配置文件后,启动或者重启mysqld服务 /etc/init.d/mysqld restart • 把主上xiaobo库同步到从上 [root@CentOS7_two mysql]# scp 10.211.55.51:/tmp/*sql /tmp/ • 可以先创建xiaobo库,然后把主上的/tmp/mysql.sql拷贝到从上,然后导入xiaobo库 • scp 10.211.55.51:/tmp/*sql /tmp/ • mysql -uroot -pxiaobo • create database xiaobo; • 恢复数据:将mysql.sql数据导入xiaobo数据库 • [root@CentOS7_two mysql]# mysql -uroot -pxiaobo xiaobo < /tmp/mysql.sql • mysql -uroot -pxiaobo 执行stop slave; • 主数据服务器 记住master_log_file='xiaobo1.000001',master_log_pos=653311
mysql> change master to master_host='10.211.55.51', master_user='repl', master_password='xiaobo', master_log_file='xiaobo1.000001', master_log_pos=653311;
• 注意:关闭selinux : setenfource 0 关闭firewalld systemctl stop firewalld • 开启从机:start slave; • 查看当前的状态 show slave status,有俩个yes就对! mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 10.211.55.51 Master_User: repl Master_Port: 3306 Connect_Retry: 60 Master_Log_File: xiaobo1.000002 Read_Master_Log_Pos: 653371 Relay_Log_File: CentOS7_two-relay-bin.000002 Relay_Log_Pos: 281 Relay_Master_Log_File: xiaobo1.000002 Slave_IO_Running: Yes Slave_SQL_Running: Yes • 还要到主上执行 unlock tables
回顾 从上执行mysql -uroot show slave stauts\G 看是否有 Slave_IO_Running: Yes Slave_SQL_Running: Yes 还需关注 Seconds_Behind_Master: 0 //为主从延迟的时间 Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 主服务器上 binlog-do-db= //仅同步指定的库 binlog-ignore-db= //忽略指定库 从服务器上 replicate_do_db= replicate_ignore_db= replicate_do_table= replicate_ignore_table= replicate_wild_do_table= //如aming.%, 支持通配符% replicate_wild_ignore_table=
测试主从 主上 mysql -uroot -pxiaobo 使用xiaobo数据库: use xiaobo; select count(*) from user; truncate table user; 到从上 mysql -uroot -pxiaobo select count(*) from user; 主上继续drop table user; 从上查看user表

分类:
系统运维_CentOS7运维笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】