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

mysql一主2从部署

mysql一主两从部署
1,安装mysql
通过rpm包在三台服务器上安装mysql
(1).卸载系统自带的mysql

rpm -qa | grep -i mysql
rpm -e --nodeps [要卸载的mysql]

(2).安装
rpm包请修改相应的版本号
rpm -ivh mysql-community-common-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm --nodeps
rpm -ivh mysql-community-devel-5.7.44-1.el7.x86_64.rpm

4).查看初始密码

ggrep ‘A temporary password’ /var/log/mysqld.log | awk -F"root@localhost: " ‘{ print $2}’

(5).修改密码

/usr/bin/mysqladmin -u root -pjwsSTa-TL91Y password r9xhyHDcEFQE
d登录后执行更改命令
set password for root@localhost = password(‘9xhyHDcEFQE’);

FLUSH PRIVILEGES;ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘9xhyHDcEFQE’;

2,配置主服务器
1.编辑配置文件修改 MySQL 配置文件(/etc/my.cnf 或 /etc/mysql/my.cnf)以启用二进制日志和设置服务器 ID。

[mysqld]
server-id = 1
log-bin = /var/log/mysql/mysql-bin.log
binlog-format = STATEMENT

2.重启 MySQL 服务

sudo systemctl restart mysqld
或者
service mysqld start

3.创建复制用户登录 MySQL 并创建用于复制的用户。
密码自己根据情况设置
–CREATE USER ‘replica_user’@‘%’ IDENTIFIED BY ‘9xhyHDcEFQE’;

CREATE USER ‘replica_user’@‘%’ IDENTIFIED BY ‘password’;
GRANT REPLICATION SLAVE ON . TO ‘replica_user’@‘%’;
FLUSH PRIVILEGES;

4.获取主服务器状态记录主服务器的二进制日志文件名和位置,以便从服务器配置时使用。

SHOW MASTER STATUS;

  1. 配置从服务器(slave2 slave3)
    1.编辑配置文件修改从服务器的 MySQL 配置文件以设置服务器 ID 和禁用二进制日志。
    ●与主库类似,设置server-id为不同的唯一值(如2、3)。

[mysqld]
server-id = 2

2.重启 MySQL 服务

sudo systemctl restart mysqld

3.配置从服务器登录 MySQL 并设置主服务器信息和复制用户。

CHANGE MASTER TO
MASTER_HOST=‘主服务器IP’,
MASTER_USER=‘replica_user’,
MASTER_PASSWORD=‘password’,
MASTER_LOG_FILE=‘记录的日志文件名’,
MASTER_LOG_POS=记录的日志位置;

 CHANGE MASTER TO
MASTER_HOST='10.0.5.33',
MASTER_USER='replica_user',
MASTER_PASSWORD='9xh*yH*DcEFQE',
MASTER_LOG_FILE='mysql-bin.000087',
MASTER_LOG_POS=1403;

4.启动复制启动从服务器的复制进程。

START SLAVE;

5.检查复制状态确认从服务器是否成功连接并开始复制。

SHOW SLAVE STATUS ;

  1. 验证和测试
    1.创建测试数据
    a.在主服务器上创建一些测试数据并验证这些数据是否在从服务器上同步。
    2.监控复制状态
    a.使用 SHOW SLAVE STATUS; 检查是否有错误和延迟。
  2. 故障排除
    ●检查网络连接: 确保主从服务器之间的网络连接正常。
    ●查看日志: 检查 MySQL 错误日志文件以诊断问题。
  3. 安全和维护
    1.配置防火墙
    a.确保主服务器允许从服务器的 IP 地址访问 MySQL 端口(默认 3306)。

报错信息
Got fatal error 1236 from master when reading data from binary log: ‘Could not find first log file name in binary log index file’
处理办法从库执行
stop slave;
CHANGE MASTER TO MASTER_LOG_FILE=‘mysql-bin.000003’,MASTER_LOG_POS=156;
start slave;
show slave status;


http://www.kler.cn/a/303202.html

相关文章:

  • Mac解压包安装MongoDB8并设置launchd自启动
  • 【Linux】获得同一子网下当前在线设备IP/Latency/MAC 通过nmap指定CIDR扫描当前在线设备
  • Sql server查询数据库表的数量
  • 【C++学习(37)】并发性模式:如生产者-消费者、读写锁等。 架构模式:如MVC、MVVM等。属于23 种设计模式吗? RAII 的关系?
  • 基于 Python Django 的二手房间可视化系统分析
  • 量化交易系统开发-实时行情自动化交易-3.4.2.2.Okex交易数据
  • 记者协会评审系统-需求分析
  • 苹果CMS vs. 海洋CMS:哪个系统更易于百度收录?
  • 解决:Vue3 - defineProps 设置默认值报错问题
  • CentOS 入门基础
  • LeetCode 2398.预算内的最多机器人数目:滑动窗口+单调队列——思路清晰的一篇题解
  • 工业设备网关在智能工厂建设中发挥的作用,以某汽车制造厂为例
  • LabVIEW编程语言出于什么原因开发的?
  • 1688商品详情API返回值中的售后保障与服务信息
  • Failed building wheel for opencv-python-headless
  • k8s常用指令续:
  • Day 11-12:查找
  • day14-单例设计模式动态代理
  • Qt 学习第八天:菜单栏、工具栏、状态栏、模态和非模态对话框创建
  • RabbitMQ延迟消息——DelayExchange插件
  • Python之 条件与循环(Python‘s Conditions and loops)
  • 在麒麟系统 v10 SP3 上运行自带的 MariaDB
  • 【鸿蒙】HarmonyOS NEXT星河入门到实战6-组件化开发-样式结构重用常见组件
  • Oracle中VARCHAR和VARCHAR2的区别
  • CSS框架 Tailwind CSS
  • Leetcode3276. 选择矩阵中单元格的最大得分