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

Mysql的主从复制及扩展功能

一、配置过程

        1.配置master

        vim  /etc/my.cnf

        [mysqld]

        datadir=/data/mysql                        指定数据库文件的存储位置

        socket=/data/mysql/mysql.sock

        symbolic-links=0                

        log-bin=mysql-bin                启用二进制日志,用于记录数据库的更改操作

        servid-id=1                设置mysql服务器的唯一id

        进入数据库配置用户权限

                mysql   -pxxx

                create  user  'repl'@'%'  identified  by  'test';                生成专门用来做复制的用户,用于slave端做认证

                grant  replication  slave on *.* to  'repl'@'%'                对这个用户进行授权

        配置slave

                vim /etc/my.cnf

                [mysqld]

                datadir=/data/mysql

                socket=/data/mysql/mysql.sock

                symbolic-links=0

                server-id=2

        进入数据库进行配置

                mysql  -pxxx

                change  master to  master_host='172.25.254.11',master_user='repl',master_password='test',master_log_file='mysql-bin.000001',master_log_pos=xxx;                后面两个参数的具体数值可以通过在主数据库使用命令show master status 来查看对应的参数的数值

                start  slave;

                show slave status\G;                      可以通过该命令查看主从服务器之间的状态

        测试

                create  database  xiao;

                create  table  xiao.user(username  varchar(20) not null,password  varchar(50) not null)

                在主数据库设备上创建测试的数据库

                show databases;  show tables        在从数据库的设备上查看相关的信息,看在主数据库创建的数据库和表是否同步到从数据库上

        一般情况下在slave阶段中是开启写功能,但是一般会关闭slave节点的写功能来保证数据一致性。

                vim /etc/mysql.cnf

                [mysqld]

                super_read_only=on   一般改为off

        当有数据时添加slave2

                vim /etc/my.cnf

                [mysqld]

                datadir=/data/mysql

                socket=/data/mysql/mysql.sock

                symbolic-links=0

                server-id=3

                mysqldump  -uroot  -pxxx  test  > xiao.sql        从master节点备份数据

                在生产环境进行上述操作时备份时需要锁表,保证备份前后的数据一致性 

                mysql> flush  tables  with  read  lock;  

                备份后再解锁

                unlock  tables;

                拉平数据:mysql  -uroot -pxxx  -e "create  database  xiao;"

                                   mysql -uroot -pxxx  >xiao.sql

                                    mysql  -uroot -pxxx  -e "select  * from  xiao.user;"

                配置slave2的slave功能,在此之前先在主数据库设备上查询最后需要对应的两个参数的值,然后利用同上的命令将slave2配置为master的从设备。

二、延迟复制

        1.延迟复制是用来控制sql线程和io线程无关,其io线程正常工作,而是日志已经保存在slave端,而是sql要等多久进行回放

                此种功能适用于当master端误操作时,可以在slave端进行数据备份

        2.配置操作(该配置操作是在slave上进行配置的)

                stop  slave  sql_thread;

                change  master  to  master_delay=60;        表示从服务器会延迟60s才执行主服务器上的更改

                start  slave  sql_thread;

                可以通过 show slave status\G来查看延迟的效果

三、慢查询日志

        1.当执行sql超过long_query_time参数设定的时间阈值(默认为10s)时会被认为是慢查询,则这个慢查询是要被优化的

                慢查询的日志会被记录在慢查询的日志中且默认情况下不开启慢查询

        2.开启慢查询日志:

                set global  slow_query_log=ON;

                set long_query_time=4;

                show variables  like  "slow%";        通过该命令可以查看慢查询日志是否开启

        测试:

                select  sleep (10);

                cat  /data/mysql/mysql-node1-slow.log        该命令用来查看慢查询的日志信息

                


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

相关文章:

  • 什么是麦克斯韦方程
  • 论文阅读:Realistic Noise Synthesis with Diffusion Models
  • JAVA(SpringBoot)集成Kafka实现消息发送和接收。
  • 「 机器人 」利用冲程对称性调节实现仿生飞行器姿态与方向控制
  • 【狂热算法篇】探秘图论之Dijkstra 算法:穿越图的迷宫的最短路径力量(通俗易懂版)
  • 【逻辑学导论第15版】A. 推理
  • 代发考试战报:1月22号 1月23号 CCDE考试通过
  • 深入解析JUnit中的@ClassRule注解
  • 代码随想录算法训练营第十五天| 二叉树3
  • Python-操作列表
  • 38【2进制与ascall码】
  • 今日头条公域流量引流新径:开源 AI 智能名片 2 + 1 链动模式 S2B2C 商城小程序融合之道
  • 【C++语言】卡码网语言基础课系列----2. A+B问题II
  • 【漫话机器学习系列】072.异常处理(Handling Outliers)
  • 算法题(53):对称二叉树
  • 基于PLC的变频调速系统设计
  • 鸿蒙HarmonyOS实战-ArkUI动画(页面转场动画)_鸿蒙arkui tab 切换动画
  • K8S学习笔记
  • PDF 擦除工具
  • 【Leetcode 热题 100】62. 不同路径
  • “LoRA技术中参数初始化策略:为何A参数采用正态分布而B参数初始化为0”
  • 解锁维特比算法:探寻复杂系统的最优解密码
  • 青少年编程与数学 02-008 Pyhon语言编程基础 04课题、开始编程
  • 【图床配置】PicGO+Gitee方案
  • 17.2 图形绘制3
  • Spring Web MVC基础第一篇