mysql修改主从复制id_mysql主从复制设置

三、mysql复制

master和每个slave是通过unique ID来区分的(server-id选项),而且每个slave需要配置好master的主机名,日志文件名,和日志位置

这些可以通过在slave会话中使用命令CHANGE MASTER TO ,存储在slave的master.info文件中

--begin

1.在master上启用二进制日志,并且指定唯一的server ID,复制服务器群必须使用唯一的server ID来标识,在1~2^32 -1

为了innodb事务处理的最大程度的一致性、持久性,需在master配置innodb_flush_log_at_trx_commit=1和sync_binlog=1

master上不应该开启skip-networking选项,开启的话slave将没法与master通信

2.修改slave配置的server-id,该id不能与master冲突,设置之后需要重启,如果设置多个slave则每一个server-id必须唯一

3.创建拥有REPLICATION SLAVE权限的帐户给slave复制用

create user 'rep102'@'192.168.1.%' identified by '123456';

grant replication slave on *.* to 'rep102'@'192.168.1.%'; //ip为通配符确定的

4.指定slave从某个节点开始复制

在一个master会话中刷新所有表和堵塞的写操作:FLUSH TABLES WITH READ LOCK;

在另一个master会话中,使用SHOW MASTER STATUS来看当前的binlog文件名及位置,file 和 position mysql-bin.000046 344

1)使用mysqldump为当前master创建快照

先在一个会话中使用 :FLUSH TABLES WITH READ LOCK;

再在另一个会话中dump:mysqldump --all-databases --lock-all-tables >dbdump.db

再解锁: UNLOCK TABLES;

2)使用冷备份:copy文件

一致性最高时需要shutdown

mysqladmin shutdown

tar cf /tmp/db.tar ./data

rsync --recursive ./data /tmp/dbdata

restart

5.设置master-slave:

1)新的master-slave,没有任何数据

拿到binlog文件和位置后,执行CHANGE MASTER TO

2)在现在数据基础上设置主从

在master创建帐号给从库使用

配置主库server-id

创建主库快照

得到主库的binlog位置

更新从库配置

为从库加载数据:mysqldump的(以--skip-slave-start参数启动,导入数据mysql < db.dump),冷备的(tar xvf dump.tar,使用--skip-slave-start启动)

使用主库的binlog位置配置从库,使用正确的帐号

开启slave进程

当slave开始复制时可在数据目录下发现一个master.info文件和一个relay-log.info文件

3)在一个现在的主从系列中添加从库

复制已有的从库:mysqladmin shutdown; 复制数据文件到新的slave;

可能会报relay-log错误,使用与已有slave一样的--relay-log避免错误,如果它没指定则使用exist_slave_hostname-relay-bin

如果上面方法不行则把已有的slave的relay log索引文件拷到新slave,设置--relay-log-index选项与原slave相同,默认为exist_slave_hotname-relay-bin.index

如果新的slave目录里没有,将已有slave的master.info和relay-log.info文件拷进去,这两个文件包含目前同步的master binlog位置和slave的延迟

开启已有的slave

为新的slave分配server-id并启动它,新的slave将使用master.info文件开始同步

4)在slave上设置master的配置

此处需要主库的防火墙开放3306端口:

sudo /sbin/iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

sudo /sbin/iptables -A OUTPUT -p tcp --dport 3306 -j ACCEPT

sudo /sbin/service iptables save

sudo /sbin/service iptables restart

sudo /sbin/iptables -L -n 查看3306端口已打开

CHANGE MASTER TO

MASTER_HOST='192.168.1.101',

MASTER_USER='rep',

MASTER_PASSWORD='123456',

MASTER_LOG_FILE='mysql-bin.000046',

MASTER_LOG_POS=344;

start slave;

show slave status;

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.1.101

Master_User: rep

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000048

Read_Master_Log_Pos: 2332

Relay_Log_File: web102-relay-bin.000005

Relay_Log_Pos: 2478

Relay_Master_Log_File: mysql-bin.000048

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 2332

Relay_Log_Space: 3528

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 101

看到这个状态就知道,主从复制成功搭建,接下来就是看同步效果咯

四、mysql用户权限

1.创建帐户(使用grant语句或直接操作授权表)

create 'user'@'host' idetified by 'password';

grant all privileges on *.* to 'user'@'host' identified by 'password' with grant option;

GRANT USAGE ON *.* TO 'francis'@'localhost' WITH MAX_QUERIES_PER_HOUR 100; //限制查询

2.修改密码

mysqladmin -u user_name -h host_name password "newpwd"

set password for 'user'@'%' = password('newpwd');

root可以直接更新密码:set password = password('newpwd');

grant usage on *.* to 'user'@'%' identified by 'newpwd'; //指定某个帐户的密码而不影响帐户当前的权限

3.flush previliges;

posted on

2012-09-16 22:42

X海阳

阅读(130)

评论(0)

编辑

收藏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502598.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

响应式编程优点 有效_什么是响应式编程?

响应式编程是一种通过异步和数据流来构建事物关系的编程模型。这里每个词都很重要&#xff0c;“事物的关系”是响应式编程的核心理念&#xff0c;“数据流”和“异步”是实现这个核心理念的关键。为了帮助大家理解这个概念&#xff0c;我们不妨以APP初始化业务为例来拆解一下这…

虚拟跳线软件干什么用的_视频教程:用 ESI 的虚拟跳线给你的声音添加效果

本视频讲述了如何在互联网上给你的声音添加效果。你可以使用任何想用的效果器&#xff0c;而且不仅可以输入你的声音&#xff0c;输入信号还可以是任何乐器音源&#xff0c;例如键盘或吉他&#xff0c;你甚至可以直播你的整个工程。请先看视频&#xff1a;视频中使用Bitwig给声…

利用python进行数据分析第一版和第二版区别_《利用Python进行数据分析·第2版》第1章 准备工作...

1.1 本书的内容本书讲的是利用Python进行数据控制、处理、整理、分析等方面的具体细节和基本要点。我的目标是介绍Python编程和用于数据处理的库和工具环境&#xff0c;掌握这些&#xff0c;可以让你成为一个数据分析专家。虽然本书的标题是“数据分析”&#xff0c;重点确实Py…

极光推送java demo_极光推送- 3 分钟 Demo - 极光文档

3 分钟快速使用 JPush Android Demo本文目的在于&#xff0c;指导新接触极光推送的开发者&#xff0c;在短短几分钟时间内把极光推送跑起来&#xff1a;安装 Demo 客户端到手机在 Portal 上推送通知客户端收到推送并显示在状态栏创建极光推送开发者帐号Portal 上创建应用使用注…

python猴子偷桃_Python实例100个(基于最新Python3.7版本)

Python3 100例原题地址&#xff1a;http://www.runoob.com/python/python-100-examples.htmlgit地址&#xff1a;https://github.com/RichardFu123/Python100Cases转载请标注&#xff1a;https://blog.csdn.net/weixin_41084236/article/details/81564963原例为Python2.7版本重…

java ldap添加用户名密码_java ldap用户密码md5加密

在这里不过多介绍ldap&#xff0c;因为这样的文章特别多&#xff0c;这里就简单直接的记录这一个问题。在springboot中通过引入spring-boot-starter-data-ldap&#xff0c;使用LdapTemplate真的挺方便&#xff0c;现在遇到一个问题&#xff0c;添加用户时&#xff0c;userPassw…

python什么元素为真_如何使用Python基础内置函数

如何使用Python基础内置函数发布时间&#xff1a;2020-08-05 13:46:59

java dumpstack_Java获取执行进程的dump文件及获取Java stack

转发自https://blog.csdn.net/MCC_MCC_MCC/article/details/806231561.Windows/Linux环境下查看Java进程ID方法使用Java自带的工具VisualVM工具实现&#xff0c;在CMD或者是Linux终端下执行“jvisualvm”命令即可以进入VisualVM控制台&#xff0c;双击左侧的进程即可以查看到详…

python语言程序设计赵璐课后答案_Python语言程序设计

Q&#xff1a;为什么越来越多的学校和专业已经或者计划开设Python程序设计相关课程&#xff1f;A&#xff1a;相较于其它大部分的通用型程序设计语言&#xff0c;Python的基础语法相对简单&#xff0c;且在很多热门的领域都有着功能强大而全面的第三方库&#xff0c;使得那些即…

java println 数组_java 数组输出

那就把两个for循环的顺序改动一下&#xff0c;把条件也改一下就好。System.out.println("--------------------------武侠小说列表-----------------------------");System.out.println("序号\t\t""名称\t\t""作者\t\t""简介&quo…

python中find函数运算结果类型_Python 运算符与数据类型

Python 运算符运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算,在Python中运算符大致可以分为7种类型:算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算等,下面的例子将依次介绍这几种运算符的使用技巧.◆算数运算符◆算术运算(arithmetic operators)符…

python基本概念_python基本概念-关键要素

1. 要素1&#xff1a; 数据类型Python提供了几种内置的数据类型&#xff0c;现在我们只关注其中两种。Python使用int类型表示整数(正整数或负整数)&#xff0c;使用str类型表示字符串(Unicode字符序列)。如果需要将一个数据项从某种类型转换为另一种类型&#xff0c;可以使用语…

java jar 没有主清单属性_Spring Boot jar中没有主清单属性的解决方法

使用Spring Boot微服务搭建框架&#xff0c;在eclipse和Idea下能正常运行&#xff0c;但是在打成jar包部署或者直接使用java -jar命令的时候&#xff0c;提示了xxxxxx.jar中没有主清单属性&#xff1a;D:\hu-git\spring-xxx-xxx\target>java -jar spring-cloud-eureka-0.0.1…

python分行_基于python实现对文件进行切分行

针对配置文件进行切分&#xff0c;重组&#xff0c;每隔30行为一段&#xff0c;进行重新生成功能。代码如下#!/usr/local/python/bin/python# codingutf-8import sysimport reimport osf open(config.conf,r)#判断文件条数def file_num(filename):num_col 0with open(filenam…

java 使用适当的签名_关于数字签名和policy文件设置!

目前做一项目&#xff0c;jbuilder4oraclewindows2000(linux),打算用appletservlet做成分布式b/s结构&#xff0c;其中有两个关键技术难点&#xff1a;1:与word&#xff0c;excel等程序集成。用jintegra解决(多谢路人甲等人的指点)2:applet存取客户机(browser)上的本地文件(主要…

mysql not in优化_实践中如何优化MySQL(收藏)

SQL语句的优化&#xff1a;1、尽量避免使用子查询3、用IN来替换OR4、LIKE前缀%号、双百分号、_下划线查询非索引列或*无法使用到索引&#xff0c;如果查询的是索引列则可以5、读取适当的记录LIMIT M,N&#xff0c;而不要读多余的记录6、避免数据类型不一致7、分组统计可以禁止排…

java 鼠标精灵_纯Java实现跨平台鼠标键盘模拟、找图找色,Java版按键精灵

由原本的Java使用JNI调用dll实现模拟辅助操作&#xff0c;升级到纯Java来实现&#xff0c;最新&#xff1a; https://github.com/xnx3/xnx31.[代码][Java]代码/*** 鼠标、键盘、延迟等基本操作*/public static void simple(){Robot robot new Robot();robot.delay(1000); //延…

o2oa二次开发比开发难吗_6年经验大牛,带你一起打开 Revit 二次开发的新世界大门...

​知乎视频​www.zhihu.com你好&#xff0c;这里是BIMBOX。一线的BIM工作者使用最多的软件是Revit&#xff0c;它功能强大&#xff0c;涵盖建筑、结构、MEP等专业&#xff0c;也正因为涵盖专业太多&#xff0c;它显得有点繁琐和笨拙&#xff0c;不仅约束了创造力&#xff0c;有…

java的迭代器类中有哪些类_java中的集合类 以及 迭代器

/*java中的集合类 实现了 Connection接口ArrayList这个集合类 java.util.*这个包的类toArray()方法可以返回一个 Object类型的对象数组我们部队 ArratList进行泛型规范那么就会警告 但是还是可以运行的这是因为JDK1.5中引进了泛型&#xff0c;但是你的ArrayList却没有采用&a…

python计算圆柱体体积代码_继承实现圆柱体面积体积的计算

一&#xff0e;编写一个圆类Circle&#xff0c;该类拥有&#xff1a;①一个成员变量Radius// 存放圆的半径&#xff1b;私有&#xff0c;浮点型②两个构造方法Circle( ) // 将半径设为0Circle(doubler ) //创建Circle对象时将半径初始化为r③三个成员方…