mysql主从复制方式有哪些_MySQL主从复制速度

mysql主从复制方式有哪些_MySQL主从复制速度首先要明白为什么要用 mysql 的主从复制: 1–在从服务器可以执行查询工作 (即我们常说的读功能),降低主服务器压力;(主库写,从库读,降压) 2–在从主服务器进行备份,避免备份期间影响主服务器服

MySQL 的主从复制(高级篇)

首先要明白为什么要用 mysql 的主从复制:

1–在从服务器可以执行查询工作 (即我们常说的读功能),降低主服务器压力;(主库写,从库读,降压)

2–在从主服务器进行备份,避免备份期间影响主服务器服务;(确保数据安全)

3–当主服务器出现问题时,可以切换到从服务器。(提升性能)

来说一下主从复制的实现原理

 

 

mysql主从复制方式有哪些_MySQL主从复制速度

 

mysql 复制过程分为三步(如上图所示):

1.mster 将改变记录到二进制日志 (binary log) 当中 这些记录过程叫做二进制日志事件 binary log events;

2.slave 将 master 的 binary log events 拷贝到它的中继日志 (relay log) 当中;

3.slave 重做中继日志中的事件 将改变应用到自己的数据库当中 mysql 复制是异步的且串行化的 3.slave 重做中继日志中的事件 将改变应用到自己的数据库当中 mysql 复制是异步的且串行化的

复制的最大问题:

从主机复制数据达到从机可能会有延时!

都说 master 主机和 slave 从机的 mysql 版本号要一致 我就没一致

master 主机上是 5.6 slave 从机上是 5.7 一样搞

拿过来一台服务器你不得先找 mysql 吗?mysql 在哪里 配置文件在哪里?

执行命令:

which mysql
/usr/bin/mysql --verbose --help | grep -A 1 "Default options"

代码100分

结果如图所示:

 

mysql主从复制方式有哪些_MySQL主从复制速度

先去找 /etc/my.cnf 再去找 /etc/mysql/my.cnf 然后就是后边

我的是在 /etc/my.cnf

修改 my.cnf 配置文件如下:

 

mysql主从复制方式有哪些_MySQL主从复制速度

重启 mysql 服务器执行命令:

代码100分service mysqld restart;

解释:

server-id=1 // 复制组中的每台服务器都要配置唯一的 Server ID,取值范围是 1 到 (232)−1,你自己决定取值

log-bin=master-bin // 日志文件名以 “master-bin” 作为前缀

binlog-do-db=finance_online // 要同步的 finance_online 数据库

如要同步多个数据库,就多加几个 replicate-db-db = 数据库名

binlog-ignore-db=mysql // 要忽略的数据库

read-only // 主机 读写都可以 (必须)

登录上 mysql 然后执行:

show master status;

结果如下:

 

mysql主从复制方式有哪些_MySQL主从复制速度

记住里面的 File 和 Position 的值 待会会用到!

在主数据中创建一个同步账号(可不创建使用现有的),如果仅仅为了主从复制创建账号,只需要授予 REPLICATION SLAVE 权限

创建一个账号,账号:zcfz 密码: 123456

这个账号是专门用来搞主从复制用的哈

上述 主服务器配置完成

slave 从服务器配置开始:

 

mysql主从复制方式有哪些_MySQL主从复制速度

重启 mysql 服务器:

代码100分service mysqld restart;

进入到 slave 从机的 mysql 命令行执行命令:

stop  slave;

 

CHANGE MASTER TO MASTER_HOST="10.10.20.120",
MASTER_USER="zcfz",
MASTER_PASSWORD="123456",
MASTER_LOG_FILE="master-bin.000005",
MASTER_LOG_POS=3878614;

解释:

MASTER_HOST 就是 master 主服务器的 ip

MASTER_USER 就是 master 主服务器里面的专门复制复制的用户 zcfz

MASTER_PASSWORD 就是 zcfz 账户的密码

MASTER_LOG_FILE 就是我们上边让您保存的 file 对应的值

MASTER_LOG_POS 就是我们上边让您保存的 Position 的值

然后执行命令:

show slave statusG

结果如图所示:

 

mysql主从复制方式有哪些_MySQL主从复制速度

wating for master to send evnet 说明已经在待命状态了

另外必须注意的是 slave_io_runing 以及 slave_sql_runing 都同时必须为 yes 才行!!!

截止到此刻说明主从复制的道路打通了!

然后执行命令:

start slave;

验证阶段:

执行命令创建数据库:

CREATE DATABASE finance_online DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

这个时候 master 和 slave 上都有了数据库

然后你再导入数据到 master 主机上的 finance_online 那么 slave 从机上也就有了然后你再导入数据到 master 主机上的 finance_online 那么 slave 从机上也就有了

 

另外如果你不想复制这个库了 想换一个

那么去修改 master 主机上的 my.cnf 当中的 binlog-do-db=tprbac 然后重启 mysql 服务

然后 show master status 看看 file 和 positon

然后再去 linux 服务器上停止 slave 在 mysql 当中执行 stop slave;

然后再执行:

CHANGE MASTER TO MASTER_HOST=’10.10.20.120’,

MASTER_USER=’zcfz’,

MASTER_PASSWORD=’123456’,

MASTER_LOG_FILE=‘你看到的 file’,

MASTER_LOG_POS = 你看到的 positon;

然后在 start slave;

就完事了!

这样就会主从复制你想要复制的数据库了!!!

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8946.html

(0)
上一篇 2023-02-18
下一篇 2023-02-18

相关推荐

  • 提高Python编程效率的工具

    提高Python编程效率的工具Python已成为最流行的编程语言之一,它在数十年来一直拥有迅速增长的用户,Python能够崛起的重要原因是其扩展库和工具的丰富性。这些工具可以提高Python程序员的效率,使开发更加高效和舒适。在本文中,我们会介绍几个Python编程效率提高的工具,这些工具对于Python工程师在日常工作中非常有用。

    2024-01-23
    53
  • python读取数据库

    python读取数据库一、access 1、获取表 http://blog.sina.com.cn/s/blog_92ab5a530102wjxe.html 参考这个链接。我把操作录制下来如下所示 import pypy…

    2023-03-24
    119
  • TcaplusDB君3月17日的行业新闻汇编「终于解决」

    TcaplusDB君3月17日的行业新闻汇编「终于解决」TcaplusDB君一直密切关注着游戏行业和数据库行业的动态。以下是TcaplusDB君收集的近期的游戏行业和数据库行业的新闻,汇编整理,献给大家观看。 (本篇文章部分内容来自网络) 美国手游市场总…

    2023-04-11
    117
  • Python By Walk:如何让您的代码更易读、更高效?

    Python By Walk:如何让您的代码更易读、更高效?Python语言有着简单易学、可读性强等特点,但是当代码量变大后,代码阅读体验也会变得更为困难。为了让您的Python代码更易读、更高效,接下来我们将从选取变量名、函数的设计、代码注释、代码优化等多个方面详细阐述。

    2024-01-30
    55
  • 02.日志系统:一条SQL更新语句是如何执行的?「建议收藏」

    02.日志系统:一条SQL更新语句是如何执行的?「建议收藏」我们还是从一个表的一条更新语句说起,我们创建下面一张表: create table T(ID int primary key, c int); 如果要将ID=2这一行c的值加1,SQL可以这么写: …

    2022-12-19
    102
  • MySQL的join使用[通俗易懂]

    MySQL的join使用[通俗易懂]#内连接select * from auth_user u inner join auth_group g on u.id = g.id; #左连接select * from auth_user a

    2022-12-26
    99
  • Python D字典:高效存储和查询

    Python D字典:高效存储和查询Python中的字典是一种无序的“键-值”(key-value)数据结构,D字典则是使用Python中的高效的哈希表技术实现的一种新型字典。使用D字典可以大大提高对键值对的存储和查询效率,是处理大量键值对时的一种优秀的数据类型。以下是D字典的基本使用方法:

    2024-03-22
    35
  • Python程序索引:集中管理和加速你的开发

    Python程序索引:集中管理和加速你的开发a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2024-02-19
    44

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注