重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

mysql怎么切换mgr mysql切换binlog

在mysql中,怎么从root用户切换到普通用户?

1、切换用户:

创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、做网站、东城网络推广、小程序开发、东城网络营销、东城企业策划、东城品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供东城建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

第一种方法

1、dos进入mysql安装bin目录下: cd C:\Program Files\MySQL\MySQL Server 5.5\bin

2、输入:mysql 备注二 -u root -p db

3、输入用户密码

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

第二种方法

1、dos下输入:"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe" "--defaults-file=C:\Program Files\MySQL\MySQL Server 5.5\my.ini" "-h192.168.1.123" "-uroot" "-ppwd"

------------------------------------------------------------------------------------------------------------------------------------------------------------------

第三种方法

1、dos进入mysql安装bin目录下: cd C:\Program Files\MySQL\MySQL Server 5.5\bin

2、输入:mysql 备注二 -u root -p pwd

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

备注一:C:\Program Files\MySQL\MySQL Server 5.5为mysql的安装目录;root为用户名;pwd为用户密码;db为数据库名称;192.168.1.123为主机ip地址。

备注二:测试出现此错误,ERROR 1045 (28000): Access denied for user 'wotuser'@'localhost' (using password: YES)可加上主机ip地址:-h 192.168.1.123。

1. MGR简介 | 深入浅出MGR

MGR是MySQL Group Replication的缩写,即MySQL组复制。

在以往,我们一般是利用MySQL的主从复制或半同步复制来提供高可用解决方案,但这存在以下几个比较严重的问题:

因为上述几个明显的缺点,因此MySQL推出了全新的高可用解决方案 -- 组复制,这是本系列文章要着重介绍的新特性。

MGR是MySQL 5.7.17开始引入的,但随着5.7版本逐渐退出历史舞台(MySQL 5.7已于2020年10月起不再做大的功能更新,只有修修补补以及针对安全更新),更多MGR相关特性都只在MySQL 8.0上才有。

因此,如果线上还有基于MySQL 5.7版本的MGR环境的话,建议尽快升级、迁移到MySQL 8.0版本。进一步提醒,推荐MySQL 8.0.22及之后的版本,整体会更稳定可靠,也有些很不错的新功能(不只是MGR方面的)。

MGR具备以下几个特点:

MGR可以选择单主(Single-Primary)模式

如上图所示,一开始S1节点是Primary角色,提供读写服务。当它发生故障时,剩下的S2-S5节点会再投票选举出S2作为新的Primary角色提供读写服务,而S1节点再达到一定超时阈值后,就会被踢出。

亦可选择多主(Multi-Primary)模式(再次 强烈建议选用单主模式 )

如上图所示,一开始S1-S5所有节点都是Primary角色,都可以提供读写服务,任何一个节点发生故障时,只需要把指向这个节点的流量切换下就行。

上述两种架构模式下,应用端通过MySQL Router连接后端在MGR服务,当后端节点发生切换时,Router会自动感知,对应用端来说几乎是透明的,影响很小,架构上也更灵活。

首先来个MGR的技术架构图:

MGR是以Plugin方式嵌入MySQL,部署更灵活方便。

事务从Server层通过钩子(hook)进入MGR API接口层,再分发到各组件层,在组件层完成事务Capture/Apply/Recover,通过复制协议层(Replication Protocol Logics)传输事务,最后经由GCS协调事务在各节点的最终一致性。

MGR节点间由组通信系统(GCS)提供支持,它提供了故障检测机制、组成员角色管理,以及安全且有序的消息传递,这些机制可确保在各节点间一致地复制数据。这项技术的核心是Paxos算法的实现,在MySQL里称之为XCom,由它充当MGR的通信引擎。

对于要提交的事务,组中的多数派节点必须就全局事务序列中给定的事务顺序达成一致。各节点做出决定提交或中止事务的选择,但所有节点都要做出相同的决定。如果发生网络分区,导致节点间无法达成一致决定,则在网络恢复前,MGR无法工作。

MGR支持单主和多主两种模式,在单主模式下,各节点会自动选定主节点,只有该主节点能同时读写,而其他(从)节点只能只读。在多主模式下,所有节点都可以进行读写。

相对于MariaDB Galera Cluster(以及基于此技术的Percona XtraDB Cluster,下面为了书写方便,都统称为PXC),个人认为MGR具备以下几个优势:

相对于传统主从复制(Replication),我认为MGR的优势有以下几点:

以上是我根据MySQL、MariaDB、Percona的资料整理得到的观点,不一定准确和全面,有不完善的地方还请留言指正。

本节主要介绍了什么是MGR,MGR的技术架构概要,以及MGR相对PXC的几个技术优势。

MGR是MySQL四部战略走的关键一环,依靠MGR和MySQL Shell、MySQL Router已实现了读节点扩展,以及写节点扩展(MGR多主模式),下一步预计实现sharding,让我们拭目以待。

相信MGR也是MySQL未来几年的重头戏,建议跟紧方向,不要错过这班列车。

因个人水平有限,专栏中难免存在错漏之处,请勿直接复制文档中的命令、方法直接应用于线上生产环境。请读者们务必先充分理解并在测试环境验证通过后方可正式实施,避免造成生产环境的破坏或损害。

Enjoy GreatSQL :)

MGR 单主模式&多主模式

MGR(组复制)两种运行模式

单主模式 下,组复制具有自动选主功能,每次只有一个

server成员接受更新。单写模式group内只有一台节点可写可读,其他节点只可以读。对于group的部署,需要先跑起primary节点(即那个可写可读的节点,read_only=0)然后再跑起其他的节点,并把这些节点一一加进group。其他的节点就会自动同步primary节点上面的变化,然后将自己设置为只读模式(read_only=1)。当primary节点意外宕机或者下线,在满足大多数节点存活的情况下,group内部发起选举,选出下一个可用的读节点,提升为primary节点。primary选举根据group内剩下存活节点的UUID按字典序升序来选择,即剩余存活的节点按UUID字典序排列,然后选择排在最前的节点作为新的primary节点。

多主模式 下, 所有的 server 成员都可以同时接受更新。group内的所有机器都是primary节点,同时可以进行读写操作,并且数据是最终一致的。

相关参数 : group_replication_single_primary_mode

是否启动单主模式,如果启动,则本实例是主库,提供读写,其他实例仅提供读

多主模式切换单主模式

# 所有节点执行

mysql stop group_replication;

mysqlset global group_replication_enforce_update_everywhere_checks=OFF;

mysqlset global group_replication_single_primary_mode=on;

# 主节点(172.16.2.185)执行

set global group_replication_bootstrap_group=on;

start GROUP_REPLICATION;

set global group_replication_bootstrap_group=OFF;

# 从节点(3307、3308)执行

start GROUP_REPLICATION;

# 查看MGR组信息

mysql select * from performance_schema.replication_group_members;

单主切换到多主模式

MGR切换模式需要重新启动组复制,因些需要在所有节点上先关闭组复制,设置 group_replication_single_primary_mode=OFF 等参数,再启动组复制。

# 停止组复制(所有节点执行):

mysqlstop group_replication;

mysqlset global group_replication_single_primary_mode=OFF;

mysqlset global group_replication_enforce_update_everywhere_checks=ON;

# 随便选择某个节点执行

mysqlSET GLOBAL  group_replication_bootstrap_group=ON;

mysqlSTART GROUP_REPLICATION;

mysqlSET GLOBAL  group_replication_bootstrap_group=OFF;

# 其他节点执行

mysqlSTARTGROUP_REPLICATION;

msyql 5.7

# 查看MGR组信息

SELECT * FROM performance_schema.replication_group_members;

查看读写权限

select @@read_only, @@super_read_only;

show variables like 'read_only';

mysql 8.0

# 查看MGR组信息

mysqlSELECT * FROM performance_schema.replication_group_members;

可以看到所有节点状态都是online,角色都是PRIMARY(mysql 8.0),MGR多主模式搭建成功。

验证:读写权限

写入数据测试:

mgr和msv

mha是外部的基于mysql主从半同步开发的一套高可用切换方案,它并不属于mysql内核,独立于mysql存在于外围,mha重点在切换,可以理解为一套切换工具。而mgr存在于mysql内核层面,是内核层面数据强一致方案,它的重点在高可用强一致,如果将mgr用在生产环境中,那么针对mgr,还需要开发一套监控及切换方案,而mha将这一整套切换方案vip之类的都考虑进去了。mha会在集群中某台机器一般是slave节点安装mhamanager,当master出现故障时,可以自动将最新数据的slave提升为master同时将所有其他的slave指向新的master,整个过程是透明的,对应用无感知,切换时间一般在30s以内,非常高效。mha适用于一主一从,一主多从。配合半同步使用,预防数据丢失。


当前文章:mysql怎么切换mgr mysql切换binlog
文章URL:http://cqcxhl.com/article/dddhccj.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP