我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Mysql主从部署

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Mysql主从部署

Mysql主从部署

Mysql主从部署

基于Mysql 5.7.26-1

一、 安装Mysql

  • 离线部署推荐使用 "RPM Bundle"

    https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar

  • 在线安装可使用yum源

    https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

在线安装

  1. rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

  2. yum install -y mysql-5.7.26

离线安装

  1. wget -O mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

  2. tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar

  3. rpm -ivh *.rpm

二、 修改配置文件

  1. 进入master节点, vi /etc/my.cnf

#set utf8mb4
character-set-server=utf8mb4
#set default time zone
default-time-zone="+8:00"
#set mysql-master
#主数据库端ID号
server_id=1
 #开启二进制日志 
log-bin=mysql-bin
#将从服务器从主服务器收到的更新记入到从服务器自己的二进制日志文件中
log-slave-updates
# 日志格式,使用混合格式(SBR与RBR混合,MySQL自动选择)
binlog-format=MIXED
#控制binlog的写入频率。每执行多少次事务写入一次(这个参数性能消耗很大,但可减小MySQL崩溃造成的损失)
sync_binlog=5
#二进制日志自动删除的天数,默认值为0,表示“没有自动删除”,启动时和二进制日志循环时可能删除
expire_logs_days=60
#将函数复制到slave
log_bin_trust_function_creators=1
###
gtid_mode=ON
enforce-gtid-consistency=true
  1. 进入slave节点, vi /etc/my.cnf

#set utf8mb4
character-set-server=utf8mb4
#set default time zone
default-time-zone="+8:00"
#set mysql slave
server_id=2
log-bin=mysql-bin
binlog-format=MIXED
log-slave-updates
innodb_flush_log_at_trx_commit=0 
#MySQL主从复制的时候,当Master和Slave之间的网络中断,但是Master和Slave无法察觉的情况下(比如防火墙或者路由问题)。Slave会等待slave_net_timeout设置的秒数后,才能认为网络出现故障,然后才会重连并且追赶这段时间主库的数据
slave-net-timeout=60
log_bin_trust_function_creators=1
# 从库只读,root用户除外
read_only=1
###
gtid_mode=ON
enforce-gtid-consistency=true
  1. 重启mysql

systemctl restart mysqld

三、 创建同步用户

  • 在mysql 5.7 中,本地用户无法直接登陆,需要从启动日志中获取基础密码。

  • 进入主库,创建同步用户

#获取登陆密码
grep password /var/log/mysqld.log
>2019-07-01T11:02:46.684952Z 1 [Note] A temporary password is generated for root@localhost: asdfg%hPWn
#登陆并创建slave用户
mysql -u root -p 
>asdfg%hPWn

>CREATE USER `slave`@`192.168.%` IDENTIFIED BY "password";

>GRANT Lock Tables, Replication Client, Replication Slave ON *.* TO `slave`@`192.168.%`;

>flush privileges;

四、 登陆创建同步任务

  1. 登陆主库,获取binlog文件名.

ssh maseter
mysql -u root -p

> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |      154 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+

可以看出binlog文件名当前为 mysql-bin.000001

  1. 登陆从库,设置并开始同步。

ssh slave
mysql -u root -p
>change master to master_host="192.168.xx.xxx",master_user="slave",master_password="password",master_auto_position=1;
>start slave;
>show slave statusG;

#当看到如下两项为yes时,设置成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

#同步状态为如下字段
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates

 

 

validate_password_poicy=0

grep "root@local" /var/log/mysqld.log

mysqladmin -uroot -p${old_password} password Yunxi711

mysql -uroot -pYunxi711

CREATE USER "admin"@"%" IDENTIFIED BY "Yunxi711";
GRANT ALL ON *.* TO "admin"@"%";
flush privileges;

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Mysql主从部署

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Mysql主从部署

Mysql主从部署 基于Mysql 5.7.26-1 一、 安装Mysql 离线部署推荐使用 "RPM Bundle" https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.27-1.el7
Mysql主从部署
2020-08-26

Mysql-5.7主从部署

一、环境准备# rpm -qa |grep mariadb |xargs yum remove -y # setenforce 0(临时关闭),(selinux配置文件:SELINUX=disabled,需重启生效) # systemctl stop ipta
Mysql-5.7主从部署
2015-06-28

Mysql一主多从如何部署

这篇文章主要介绍“Mysql一主多从如何部署”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Mysql一主多从如何部署”文章能帮助大家解决问题。下载tar.gz包选择redhat版本安装1.linux
2023-06-30

Docker如何部署mysql一主一从

这篇文章将为大家详细讲解有关Docker如何部署mysql一主一从,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。下载镜像选择MySQL镜像docker search mysql下载MySQL5.7镜像do
2023-06-15

k8s部署mysql主从怎么切换

要实现Kubernetes下的MySQL主从切换,可以按照以下步骤进行操作:首先,创建MySQL主从的Deployment和Service。在Kubernetes中,可以使用StatefulSet来创建有状态的MySQL实例。可以创建一个S
2023-10-27

编程热搜

目录