收集的mysql热复制的资料与常用语句

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
SHOW PROCESSLIST
SHOW SLAVE STATUS
load data from master
slave start
SHOW MASTER STATUS
Reset MASTER
GRANT REPLICATION SLAVE ON *.* TO  'backup'@'%.mydomain.com'  IDENTIFIED BY 'slavepass'
4:MySql数据库同步复制
摘自 longrujun 的 Blog (作者Blog: http://blog.csdn.net/longrujun/
关键字   MySql数据库同步复制 
    该功能可以实现两个数据库同步,主从模式,互相备份模式的功能。
数据库同步复制功能的设置都在mysql的设置文件中体现。mysql的配置文件(windows下为my.ini,Unix/Linux下为my.cnf)
1、实施环境:
操作系统:2台linux AS 4[up3]
mysql:mysql-4.1.15.tar.gz
SvrA ip:192.168.1.10
SvrB ip:192.168.1.11
2、配置方法
Demo 1:主从模式[Master->Slave]:A->B
=====step 1:分别在SvrA、SvrB上配置同步DB及Account=====
Step A:SvrA上配置
1.增加一个用户最为同步的用户帐号:
GRANT REPLICATION SLAVE ON *.*  backup.user@'192.168.1.11' IDENTIFIED BY ‘rsync.mysql’;
2.增加一个数据库作为同步数据库:
create database backup;
Step B:SvrB上配置
1.增加一个用户最为同步的用户帐号:
GRANT REPLICATION SLAVE ON *.* TO  backup.user@'192.168.1.10' IDENTIFIED BY ‘rsync.mysql’;( 网上的那个file权限,我试了没有成功.按手册上的来成功了.)
2.增加一个数据库作为同步数据库:
create database backup;
   ====step 2:配置Master、Slave参数====== 
主从模式:A->B即  SvrA为master ,SvrB为slave
1、修改SvrA 中mysql的my.cnf文件。在mysqld配置项中加入下面配置:
server-id=1
log-bin
binlog-do-db=backup
注:Log-bin #设置需要记录log 可以设置log-bin=/Data/logs/mysqllog 设置日志文件的目录[其中mysqllog是日志文件的名称,mysql将建立不同扩展名,文件名为mysqllog的几个日志文件]。
binlog-do-db=backup #指定需要日志的数据库
配置完后重起数据库服务。
用show master status 命令看日志情况。
2、修改SvrB中 mysql的my.cnf文件。在mysqld配置项中加入下面配置:
server-id=2
master-host=192.168.1.10
master-user=backup.user #同步用户帐号
master-password=rsync.mysql
master-port=3306
master-connect-retry=10 预设重试间隔10秒
replicate-do-db=backup 告诉slave只做backup数据库的更新
  配置完后重起数据库
  用show slave status看同步配置情况。
注意:由于设置了slave的配置信息,mysql在数据库目录下生成master.info
所以如有要修改相关slave的配置要先删除该文件。否则修改的配置不能生效。
Demo 2、双机互备模式。
如果在A加入slave设置,在B加入master设置,则可以做B->A的同步。
在A的配置文件中 mysqld 配置项加入以下设置:
master-host=192.168.1.11
master-user=backup.user
master-password=rsync.mysql
replicate-do-db=backup
master-connect-retry=10
在B的配置文件中 mysqld 配置项加入以下设置:
log-bin
binlog-do-db=backup
注意:当有错误产生时*.err日志文件。同步的线程退出,当纠正错误后要让同步机制进行工作,运行slave start
重起AB机器,则可以实现双向的热备。
注:
1、 在处理Slave中MYSQL,默认是启用server-id=1,所以将其修改为server-id=2
2、 在测试时,可以测试一下互连状态
Mysql –h ServerA/B –u backup.user –p
3、 关于Master->多个Slave,可以参考MYSQL官方文档
推荐1、 http://dev.mysql.com/doc/
2、 http://www.mysql.com/why-mysql/white-papers/
3、 http://www.mysql.com/products/database/cluster/
--------------------------------------------------------------------------------
4:mysql数据复制方案 
[来自jollr.com]
2003年12月15日 12:00 1楼 
现在找一个提供免费MYSQL的网站真不容易,即便找到了也不提供file权限,管理数据怎么办?用phpMyAdmin在线一条一条的插入?如果想搬家呢? 
所以本人在一开始便设计了一套数据管理方案: 
在本地将数据保存成TXT文件,FTP上传,PHP程序将其逐行读出,写入MYSQL。导出时反之。
日前偶上OSO论谈,看到有网友正苦于此事,现将源代码公布,供大家分享。如有漏洞,望指正。 
由于时间关系本人并没有设计出一个通用的程序,只是举例说明。
mysql 表名:tbn 
字段: 
ssj: date 
ssm: varchar(8) 
bos: enum("s","b","f") default s 
这里只设计了三个字段,各有其特点,其它类型的字段可参照设计。
tbn.txt文件: 
ssj ssm bos 
------------------------------------ 
2001-04-05 record1 2 
2001-04-06 record2 1 
2001-04-08 record3 3 
------------------------------------ 
为了导入导出TXT的一致性,将mysql的ENUM字段转存TXT文件时以索引号代替,这样便于修改、更新记录 
1对应enum字段的s 
2对应enum字段的b 
3对应enum字段的f 
字段间为TAB符
txt2db.php 
<? 
require "connecthost.inc.php";//连接到MYSQL服务器,可别照抄 
$tbn=$tbn;//mysql表名 
$rf=file("$tbn.txt");//file是一个将TXT文件按行直接读入数组的函数 
$rfs=count($rf); 
for ($k=0;$k<$rfs;$k++) { 
$exstr=explode(chr(9),$rf[$k]);//EXPLODE是一个字符串分割函数,CHR(9)为TAB符 
$ins=mysql_query("insert into $tbn (ssj,ssm,bos) values(“$field[0]“,“$field[1]“,$field[2])"); 
$inss=$inss+$ins; 

echo $inss."个记录被插入<BR>"; 
mysql_close(); 
?>
db2txt.php 
<? 
require "connecthost.inc.php"; 
$tbn=$tbn; 
//下面先得到ENUM字段的所有值及对应索引号, 
//如果不明白,在DOS下运行一下show columns from $tbn like “bos“,分析一下返回的结果 
$fea=mysql_query("show columns from $tbn like “bos“"); 
$fea_s=mysql_fetch_array($fea); 
$fea_s2=$fea_s[“Type“]; 
$bosset=explode(",",substr($fea_s2,5,(strlen($fea_s)-6))); 
$bossets=count($bosset); 
for ($j=0;$j<$bossets;$j++){ 
$bosset[$j]=substr($bosset[$j],1,strlen($bosset[$j])-2); 

$qh=mysql_query("select * from $tbn"); 
$fp=fopen("$tbn.txt","w"); //打开一个用于写入的文件 
while ($row=mysql_fetch_array($qh)) { 
for ($i=0;$i<$bossets;$i++){ 
if ($row[2]==$bosset[$i]){ 
$bosdm=$i+1; //+1 because mysql enum index from 1,php array index from 0 
break; 
}//找到当前ENUM字段对索引号 

$record=$row[0].chr(9).$row[1].chr(9).$bosdm.chr(13).chr(10); 
//chr(9)为TAB符,chr(13).chr(10)为回车并换行 
$sl=strlen($record); 
$fps=fputs($fp,$record,$sl);//写入文件 

echo "$tbn trans over ".$fps; 
fclose($fp); 
mysql_close(); 
?>
当然,要先用FTP工具把TXT文件的属性改为可写,才能写入,想必这不用我说。









本文转自 jxwpx 51CTO博客,原文链接:http://blog.51cto.com/jxwpx/213592,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
SQL 关系型数据库 MySQL
面试官:说一下MySQL主从复制的原理?
面试官:说一下MySQL主从复制的原理?
168 0
面试官:说一下MySQL主从复制的原理?
|
SQL 存储 关系型数据库
MySQL主从复制之原理&一主一从部署流程—2023.04
MySQL主从复制之原理&一主一从部署流程—2023.04
397 0
|
5月前
|
SQL 关系型数据库 MySQL
MySQL中主从复制的原理和配置命令
要原因包括提高性能、实现高可用性、数据备份和灾难恢复。了解两大线程( I/O 和 SQL)I/O线程:目的:I/O线程主要负责与MySQL服务器之外的其他MySQL服务器进行通信,以便复制(replication)数据。 功能: 当一个MySQL服务器作为主服务器(master)时,I/O线程会将变更日志(binary log)中的事件传输给从服务器(slave)。从服务器上的I/O线程负责接收主服务器的二进制日志,并将这些事件写入本地的中继日志(relay log)。 配置: 在MySQL配置文件中,你可以通过配置参数如和来启用二进制日志和指定服务器ID。log-bin server
132 1
MySQL中主从复制的原理和配置命令
|
2月前
|
SQL 关系型数据库 MySQL
说一下MySQL主从复制的原理?
【8月更文挑战第24天】说一下MySQL主从复制的原理?
55 0
|
2月前
|
SQL 关系型数据库 MySQL
SQL语句编写的练习(MySQL)
这篇文章提供了MySQL数据库中关于学生表、课程表、成绩表和教师表的建表语句、数据插入示例以及一系列SQL查询练习,包括查询、排序、聚合和连接查询等操作。
|
2月前
|
SQL canal 关系型数据库
(二十四)全解MySQL之主从篇:死磕主从复制中数据同步原理与优化
兜兜转转,经过《全解MySQL专栏》前面二十多篇的内容讲解后,基本对MySQL单机模式下的各方面进阶知识做了详细阐述,同时在前面的《分库分表概念篇》、《分库分表隐患篇》两章中也首次提到了数据库的一些高可用方案,但前两章大多属于方法论,并未涵盖真正的实操过程。接下来的内容,会以目前这章作为分割点,开启MySQL高可用方案的落地实践分享的新章程!
1143 1
|
5月前
|
SQL 存储 缓存
SQL语句在MySQL中是如何执行的
SQL语句在MySQL中是如何执行的
77 0
|
5月前
|
关系型数据库 MySQL Linux
【mysql】MySql主从复制,从原理到实践!
【mysql】MySql主从复制,从原理到实践!
132 0
|
5月前
|
SQL 容灾 关系型数据库
MySQL 主从复制原理
MySQL 主从复制原理
72 1
MySQL 主从复制原理
|
SQL 关系型数据库 MySQL
MySql主从复制原理及其搭建
MySql主从复制原理及其搭建