当前位置: 首页 > article >正文

MySQL的主从复制配置

Windows下安装参考: Mysql从安装、登录到使用命令使用详情(一)

参考目录(已安装直接参考 【第二部分 配置主从复制】)

  • 一、Linux(Ubuntu)下安装 MySQL 8.0
    • 1、安装
    • 2、配置
  • 二、配置主从复制
    • 1、主机配置(Master 192.168.10.106)
      • 1.1 修改配置文件
      • 1.2 配置用户
      • 1.3 重启服务
      • 1.4 登录查看状态
    • 2、从机配置(Slave 192.168.10.109)
      • 2.1 修改配置文件
      • 2.2 同步命令下发
      • 2.3 启动从库的复制进程
      • 2.4 查看从机状态
      • 2.5 查看错误日志(状态异常时)
    • 3、当主库崩溃后,提升从库为主库
      • 3.1 停止从库的复制
      • 3.2 将从库提升为主库并接受新的写入操作
      • 3.3 重新配置其他从库连接到新的主库

一、Linux(Ubuntu)下安装 MySQL 8.0

1、安装

apt install -y mysql-server-8.0

2、配置

第一次可直接进入无密码

mysql -u root -p

切换数据库

use mysql;

修改密码

update user set plugin='mysql_native_password' where user='root';

修改root用户的权限

update user set host = '%' where user = 'root';

允许外部登录

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

刷新权限退出

flush privileges;
quit;

关闭MYSQL的远程关闭连接限制

vim /etc/mysql/mysql.conf.d/mysqld.cnf

修改bind-address为 0.0.0.0

bind-address            = 0.0.0.0

重启mysql服务

systemctl restart mysql

二、配置主从复制

1、主机配置(Master 192.168.10.106)

1.1 修改配置文件

vim /etc/mysql/mysql.conf.d/mysql.cnf

内容如下

[mysqld]
# 开启二进制日志(必须)
log-bin = mysql-bin
# MySQL服务ID,保证整个集群环境中唯一,默认为1(必须)
server-id = 1
# 二进制日志格式,默认ROW(可选)
binlog_format = ROW
# 忽略的数据,不需要同步的数据库
binlog-ignore-db = mysql
binlog-ignore-db = sys
binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema


# 指定同步的数据库
# binlog-do-db = db01

1.2 配置用户

创建mysql登录用户、并赋予复制的权限给从库同步复制使用

登录

mysql -u root -p

切换库

use mysql;

创建并配置用户

CREATE USER 'xcuser'@'%' IDENTIFIED BY '123456';

grant REPLICATION slave on *.* to 'xcuser'@'%';

alter user 'xcuser'@'%' identified with mysql_native_password by '123456';

在这里插入图片描述

刷新

FLUSH PRIVILEGES;
quit;

1.3 重启服务

systemctl restart mysql

1.4 登录查看状态

show master status;

在这里插入图片描述

记住这两个文件名和位置,后面从机同步命令下发会使用

2、从机配置(Slave 192.168.10.109)

2.1 修改配置文件

vim /etc/mysql/mysql.conf.d/mysql.cnf

内容如下

[mysqld]
# 开启二进制日志(必须)
log-bin = mysql-bin
# MySQL服务ID,保证整个集群环境中唯一,默认为1(必须)
server-id = 2
# 二进制日志格式,默认ROW(可选)
binlog_format = ROW
# 忽略的数据,不需要同步的数据库
binlog-ignore-db = mysql
binlog-ignore-db = sys
binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema



# 指定同步的数据库
# binlog-do-db = db01

2.2 同步命令下发

change replication source to source_host='192.168.10.106',source_user='xcuser',source_password='123456',source_log_file='mysql-bin.000015',source_log_pos=1275343;

2.3 启动从库的复制进程

start slave;

2.4 查看从机状态

show replica status \G;

2.5 查看错误日志(状态异常时)

tail -f /var/log/mysql/error.log

3、当主库崩溃后,提升从库为主库

3.1 停止从库的复制

stop slave;

3.2 将从库提升为主库并接受新的写入操作

reset master;

3.3 重新配置其他从库连接到新的主库

change master to master_host='192.168.10.116', MASTER_AUTO_POSITION=1;
start slave;

http://www.kler.cn/news/363194.html

相关文章:

  • 空间数据分析实验04:空间统计分析
  • Zig语言通用代码生成器:逻辑,冒烟测试版发布
  • uniapp使用webView打开的网页有缓存如何解决(APP,微信小程序)
  • 在linux上安装r-base和rpy2到conda环境
  • 基于DSP设计的多通道DC/DC数字电源系统
  • Apple 新品发布会亮点有哪些 | Swift 周报 issue 61
  • SpringCloud无介绍快使用,sentinel服务熔断功能与持久化(二十四)
  • 自动创作PPT 利用提示词和大模型自动创建ppt
  • Java第三周:继承和多态,抽象类和接口
  • 基于SSM消防物资存储系统的设计
  • 实验03分支---7-9 真睡还是装睡
  • 构建后端为etcd的CoreDNS的容器集群(四)、etcd挂载私有自签名证书进行访问测试
  • 探索未来社交新纪元:元宇宙展厅的无限魅力
  • 修改huggingface的缓存目录以及镜像源
  • 代码随想录算法训练营第三十七天|509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯
  • C语言中单字符I/O的使用
  • Go的客户端与服务器通信案例
  • 基于PHP+MySQL+Vue的网上订餐系统
  • jmeter是怎么用的,怎么设计接口测试用例的
  • SEO基础:什么是LSI关键词?【百度SEO优化专家】
  • elementUI提示、通知、弹框每次只出现一个
  • Flutter仿京东商城APP底部导航实现
  • 代码随想录训练营Day06 | 454.四数相加II - 383. 赎金信 - 15. 三数之和 - 18. 四数之和
  • 毕业设计选题:基于django+vue的个人博客系统设计与开发
  • Github 2024-10-17 Go开源项目日报 Top10
  • 华为Eth-Trunk级联堆叠接入IPTV网络部署案例