Mysql主从复制
Mysql环境准备
#下载Mysql
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
如果报错: -bash: wget: 未找到命令
安装插件 yum -y install wget
安装mysql-community-release-el7-5.noarch.rpm
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装Mysql
sudo yum install mysql-server
一直y下去就可以了
配置Mysql
mysql -u root
报错。原因:原因是/var/lib/mysql的访问权限问题。
#授权
chown root /var/lib/mysql/
#重启
service mysqld restart
#再次登录并修改密码
mysql -u root
use mysql;
update user set password=password('123456') where user='root';
exit;
#再次重启,授权root可以远程连接
service mysqld restart
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
service mysqld restart
Mysql主从复制原理
MySQL的主从复制是MySQL本身自带的一个功能,不需要额外的第三方软件就可以实现。其复制功能并不是copy文件来实现的,而是借助binlog日志文件里面的SQL命令实现的主从复制,可以理解为我在Master端执行了一条SQL命令,那么在Salve端同样会执行一遍,从而达到主从复制的效果。从库生成两个线程,一个1/0线程、一.个SQL线程。i/o线程去请求主库的binlog,并将得到的binlog日志写到relay log (中继日志)文件中。主库会生成一个log dump线程,用来给从库i/o线程传binlog;SQL线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致。
主从复制搭建
配置主节点
vi /etc/my.cnf
server_id=131 ###服务器id
log-bin=mysql-bin ###开启日志文件
#保存之后重启
service mysqld restart
#查询对应配置文件中的server_id 说明已经配置成功
show variables like '%server_id%';
#看到同步的文件,和行数 说明已经配置成功。
show master status;
从节点配置
vi /etc/my.cnf
server_id=132 ###从服务器server_id
log-bin=mysql-bin ###日志文件同步方式
binlog_do_db=test,test1 ###同步数据库,多个以逗号分隔
service mysqld restart
从节点同步主节点
master_host:主节点IP
master_user :主节点账号
master_password:密码
#这两个参数的配置是在主节点通过show master status;查询到的
master_log_file
master_log_pos
#执行sql
CHANGE MASTER TO master_host = '192.168.100.131',
master_user = 'root',
master_password = 'root',
master_log_file = 'mysql-bin.000001',
master_log_pos = 120;
因为从节点的服务器是直接复制的主节点,所有可能会出现一个错误
Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.。是因为UUID重复了.删除子节点的auto.cnf就可以了
解决办法:
#找到Mysql的位置
cat /etc/my.cnf
cd /var/lib/mysql
rm -rf auto.cnf
service mysqld restart
#开始同步
start slave
#查看同步状态
SHOW SLAVE STATUS
效果演示
在主节点创建test数据库,在创建一个表,子节点会自动同步
刷新一下从节点
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析
· 重磅发布!DeepSeek 微调秘籍揭秘,一键解锁升级版全家桶,AI 玩家必备神器!