账户系统db服务器为创建快照,Mysql 服务器同步(replication)设置.docx

2023-05-16

Mysql 服务器同步(replication)设置

Mysql 服务器同步(replication)设置MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。环境介绍:本测试系统平台为window7.各个机器的mysql版本均为5.1.38,其他版本没有测试。一般只要是5.1.x版本,且每台机器版本一致的情况下都适用。主从备份顾名思义,就是一台机器作为主服务器,另外一台或多台作为从服务器。配置过程如下:在主服务器找到MySQL安装目录下(如:C:\Program Files\MySQL\MySQL Server 5.1)my.ini文件,在文件末尾添加如下代码:server-id=1 log-bin=C:\mysqlbackbinlog-do-db=testlog-bin=C:\mysqlback#这里的mysqlback是日志文件名,C:\是路径,在正常运行时,会在C盘下产生mysqlback.000001、mysqlback.000002等日志文件。如果直接设置为log-bin=mysqlback,则会在mysql的data目录下产生这些mysqlback.000001、mysqlback.000002等日志文件。#binlog-do-db=test1#test为需要同步的数据库名。如果需要同步多个数据库,多次使用这条语句即可从服务器找到my.ini文件,在文件末尾添加如下代码:server-id=2 master-host=192.168.1.104master-user=user1master-password=user1master-port=3306master-connect-retry=60master-host=192.168.1.104#主复制服务器的主机名或IP地址。如果没有给出该选项,从服务器线程不启动。master-port=3306#如果mysql服务使用的默认端口3306,就可以省略此项master-connect-retry=60#在主服务器宕机或连接丢失的情况下,从服务器线程重新尝试连接主服务器之前睡眠的秒数。如果未设置,默认值为60。replicate-do-db=test#告诉从服务器限制默认数据库(由USE所选择)为test的语句的复制。要指定多个数据库,应多次使用该选项,每个数据库使用一次。slave-skip-errors=all #忽略错误继续同步在主服务器上为从服务器打开权限:GRANT REPLICATION SLAVE ON *.*TO ‘user1’@‘192.168.1.11’IDENTIFIED BY‘user1’;重启主从服务器的mysql服务使主从服务器的数据库保持一致根据数据库使用的引擎不同有些区别:MyISAM(本次测试采用的引擎):在锁定主服务器数据库的情况下,可以直接将data下面的数据库文件复制到从服务器data下面,并重启从服务器(如果是直接添加新的数据库不需要重启)在从服务器的mysql命令行内输入如下命令:LOAD DATA FROM MASTER需要说明的是:你需要授予该账户其它权限:授予账户SUPER和RELOAD全局权限。为所有想要装载的表授予SELECT权限。任何该账户不能SELECT的主服务器上的表被LOAD DATA FROM MASTER忽略掉。InnoDb:MyISAM的第二种办法可以获得全局读锁定,然后开始InnoDB表的文件系统快照。创建快照最简单的途径是使用归档程序对主服务器上的数据目录中的数据库进行二进制备份。(这部分没有具体测试,就不说了,摘自《mysql参考手册》第6章 Mysql中的负责 6.4 如何设置复制)查看结果主服务器:一般情况下第一次使用命令show master status查看主服务器状态File 是mysqlback.000001,position是106.从服务器:?说明:在第一次设置完成master,slave之后,如果要修改slave的my.ini里master的设置必须先删除data下面的master.info文件,重启服务才能生效。否则服务器会以master.info中的信息为准。或者另外一个办法就是直接在mysql命令行中使用chang master to命令。二、主主同步主主同步是指AB同时互为master和slave,其操作就是在主从同步的基础上在反过来再设置一次,将从服务器作为主服务器,主服务器作为从服务器。添加代码如下:A(1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

账户系统db服务器为创建快照,Mysql 服务器同步(replication)设置.docx 的相关文章

  • mysql语句中的*星号是什么意思?

    Ex mysql query SELECT FROM members WHERE id id 这意味着选择表中的所有列
  • 无法使用 Django 应用程序从容器连接到 MySQL docker 容器

    当我尝试从运行 Django 应用程序的 docker 容器连接到运行 MySQL 的容器时 出现以下错误 django db utils OperationalError 2003 Can t connect to MySQL serve
  • 如何将 MySQL 数据库更改为 UTC?

    我使用的是 Windows 7 对数据库方面的东西有点陌生 我尝试在 Google 上搜索如何将系统时区更改为 UTC 但文档有些高级 我不太确定如何更改此字段 在 my ini 文件的 mysqld 部分下 添加以下行 default t
  • 在 Python 中按标题将 docx 拆分为单独的文件

    我想编写一个程序来获取我的 docx 文件 迭代它们并根据标题将每个文件拆分为多个单独的文件 每个 docx 中都有几篇文章 每篇文章都有一个 标题 1 及其下方的文本 因此 如果我的原始 file1 docx 有 4 篇文章 我希望将其分
  • ActiveRecord3死锁重试

    Rails 3 或 ActiveRecord 3 是否有任何插件可以复制旧版本死锁重试 http agilewebdevelopment com plugins deadlock retry插入 或者 该插件仍然适用于 Rails 3 吗
  • 比较表中的行以了解字段之间的差异

    我有一个包含 20 多列的表 客户端 其中大部分是历史数据 就像是 id clientID field1 field2 etc updateDate 如果我的数据如下所示 10 12 A A 2009 03 01 11 12 A B 200
  • Mysql innoDB 不断崩溃[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的数据库 mysql 服务器不断崩溃 重新启动 我不知道该怎么办 我不断在 dbname org err 文件中收到以下内容 13120
  • PDO SQLSRV 和 PDO MySQL 在获取 int 或 float 时返回字符串

    当您获取时 PDO MS SQL Server 和 PDO MySQL 都会返回一个字符串数组 即使列的 SQL 类型本应是数字类型 例如 int 或 float 我设法解决了这个问题 但我想了解为什么它们一开始就这样设计 是不是因为PDO
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • MySQL 使用 ALTER IGNORE TABLE 出现重复错误

    我的 MySQL 中有一个有重复项的表 我尝试删除重复项并保留一项 我没有主键 我可以通过以下方式找到重复项 select user id server id count as NumDuplicates from user server
  • MYSQL 区分大小写的 utf8 搜索(使用 hibernate)

    我的登录表具有 utf8 字符集和 utf8 排序规则 当我想要检查用户名并检索该特定用户名的其他信息时 hql 查询会为我提供小写和大写相同的结果 我应该如何处理适用于案例的 HQL 查询 我使用 Mysql 5 和 java hiber
  • 使用 PHP 的 MySQL 连接字符串

    我正在尝试通过本地计算机连接到托管在我的服务器上的数据库 我的服务器有cPanel 11 它是一个典型的共享服务器 由CentOS提供支持 安装了PHP和MySQL 准确地说 我在同一台服务器上持有经销商帐户 我想在不同帐户或域之间访问数据
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • MySQL 查询计算上个月

    我想计算上个月的订单总额 我收到了从当前日期获取当月数据的查询 SELECT SUM goods total AS Total Amount FROM orders WHERE order placed date gt date sub c
  • 如何使用 vitess 仅对特定表进行分片

    我创建了一个包含三个表的未分片键空间 现在我想对前两个表的键空间进行分片 但不想对第三个表进行分片 如何才能做到这一点 Vitess 文档不包含任何与此相关的信息或示例 请帮忙 Thanks vitess 中的垂直分片与水平分片类似 您应该
  • 在 PHP 字符串中格式化 MySQL 代码

    是否有任何程序 IDE 可以在 PHP 字符串中格式化 MySQL 代码 例如 我使用 PHPStorm IDE 但它无法做到这一点 它对 PHP 和 MYSQL 执行此操作 但不适用于 php 字符串内的 MYSQL 我已准备好使用新的
  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen

随机推荐