<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Rabbitmq%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4</id>
	<title>Rabbitmq常用命令 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Rabbitmq%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Rabbitmq%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4&amp;action=history"/>
	<updated>2026-04-19T08:53:05Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=Rabbitmq%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4&amp;diff=918&amp;oldid=prev</id>
		<title>Evan：​/* troubleshooting */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Rabbitmq%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4&amp;diff=918&amp;oldid=prev"/>
		<updated>2022-11-25T02:20:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;troubleshooting&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==创建vhost ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#创建 lxtx_hello vhost &lt;br /&gt;
rabbitmqctl  add_vhost  /hello&lt;br /&gt;
&lt;br /&gt;
为用户设置virtual host 权限 用户为admin：&lt;br /&gt;
rabbitmqctl  set_permissions  -p  /hello  admin &amp;#039;.*&amp;#039; &amp;#039;.*&amp;#039; &amp;#039;.*&amp;#039;&lt;br /&gt;
&lt;br /&gt;
rabbitmqctl delete_vhost /hello&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==开启镜像模式==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#为 vhost  hello  开启镜像  ，策略名称名为  mirror4_hello&lt;br /&gt;
rabbitmqctl set_policy -p hello  mirror4_hello  &amp;quot;^&amp;quot; &amp;#039;{&amp;quot;ha-mode&amp;quot;:&amp;quot;all&amp;quot;}&amp;#039;&lt;br /&gt;
Setting policy &amp;quot;mirror4_hello&amp;quot; for pattern &amp;quot;^&amp;quot; to &amp;quot;{\&amp;quot;ha-mode\&amp;quot;:\&amp;quot;all\&amp;quot;}&amp;quot; with priority &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#默认vhost&lt;br /&gt;
rabbitmqctl set_policy    mirror4_newcailuw  &amp;quot;^&amp;quot; &amp;#039;{&amp;quot;ha-mode&amp;quot;:&amp;quot;all&amp;quot;}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
#书面一点的解说&lt;br /&gt;
#这行命令在vhost名称为hello创建了一个策略，策略名称为mirror4_hello ,策略模式为 all 即复制到所有节点，包含新增节点，策略正则表达式为 “^” 表示所有匹配所有队列名称&lt;br /&gt;
&lt;br /&gt;
参数&lt;br /&gt;
&lt;br /&gt;
ha-mode：策略键&lt;br /&gt;
1.all 队列镜像在群集中的所有节点上。当新节点添加到群集时，队列将镜像到该节点&lt;br /&gt;
2.exactly 集群中的队列实例数。&lt;br /&gt;
3.nodes 队列镜像到节点名称中列出的节点。&lt;br /&gt;
&lt;br /&gt;
ha-sync-mode：队列同步&lt;br /&gt;
1.manual手动&amp;lt;默认模式&amp;gt;.新的队列镜像将不会收到现有的消息，它只会接收新的消息。&lt;br /&gt;
2.automatic自动同步.当一个新镜像加入时，队列会自动同步。队列同步是一个阻塞操作。&lt;br /&gt;
作者：全能程序猿&lt;br /&gt;
链接：https://www.jianshu.com/p/f81d62a8de02&lt;br /&gt;
来源：简书&lt;br /&gt;
著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/f81d62a8de02 RabbitMQ镜像策略set_policy]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/wexiaoword/article/details/81352045 rabbitMq集群之镜像模式]&lt;br /&gt;
&lt;br /&gt;
https://www.rabbitmq.com/parameters.html&lt;br /&gt;
&lt;br /&gt;
https://www.rabbitmq.com/rabbitmqctl.8.html&lt;br /&gt;
&lt;br /&gt;
注意 看人家有加 HAProxy 代理服务器&lt;br /&gt;
[https://www.yisu.com/zixun/115327.html RabbitMQ集群架构模式及搭建Rabbitmq-Mirror镜像集群]&lt;br /&gt;
&lt;br /&gt;
= *  Rabbitmq 用户角色及权限控制=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RabbitMQ的用户角色分类：==&lt;br /&gt;
 none、management、policymaker、monitoring、administrator&lt;br /&gt;
&lt;br /&gt;
==RabbitMQ各类角色描述：==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
none&lt;br /&gt;
不能访问 management plugin&lt;br /&gt;
&lt;br /&gt;
management&lt;br /&gt;
用户可以通过AMQP做的任何事外加：&lt;br /&gt;
列出自己可以通过AMQP登入的virtual hosts  &lt;br /&gt;
查看自己的virtual hosts中的queues, exchanges 和 bindings&lt;br /&gt;
查看和关闭自己的channels 和 connections&lt;br /&gt;
查看有关自己的virtual hosts的“全局”的统计信息，包含其他用户在这些virtual hosts中的活动。&lt;br /&gt;
&lt;br /&gt;
policymaker &lt;br /&gt;
management可以做的任何事外加：&lt;br /&gt;
查看、创建和删除自己的virtual hosts所属的policies和parameters&lt;br /&gt;
&lt;br /&gt;
monitoring  &lt;br /&gt;
management可以做的任何事外加：&lt;br /&gt;
列出所有virtual hosts，包括他们不能登录的virtual hosts&lt;br /&gt;
查看其他用户的connections和channels&lt;br /&gt;
查看节点级别的数据如clustering和memory使用情况&lt;br /&gt;
查看真正的关于所有virtual hosts的全局的统计信息&lt;br /&gt;
&lt;br /&gt;
administrator   &lt;br /&gt;
policymaker和monitoring可以做的任何事外加:&lt;br /&gt;
创建和删除virtual hosts&lt;br /&gt;
查看、创建和删除users&lt;br /&gt;
查看创建和删除permissions&lt;br /&gt;
关闭其他用户的connections &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Note=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
administrator一定能看到 cluster信息,manager不行 &lt;br /&gt;
&lt;br /&gt;
monitoring  也可以&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=* 创建用户 =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
** 新增用户admin，密码1234&lt;br /&gt;
&lt;br /&gt;
rabbitmqctl  add_user admin 1234&lt;br /&gt;
&lt;br /&gt;
** 也可以使用rabbitmqctl命令更改密码&lt;br /&gt;
&lt;br /&gt;
rabbitmqctl change_password admin adm&lt;br /&gt;
&lt;br /&gt;
** 将admin加入到管理员组 赋予其management角色：&lt;br /&gt;
rabbitmqctl set_user_tags admin administrator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** 查看用户列表&lt;br /&gt;
&lt;br /&gt;
rabbitmqctl  list_users&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=v host=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Virtual Hosts管理 &lt;br /&gt;
&lt;br /&gt;
删除的 点击进去 详情下面就是删除了 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=运维常用命令=&lt;br /&gt;
==rabbitmqadmin==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
一般情况下，我们会使用 rabbitmq_management 插件，通过 Web UI 的方式来监控和操作 RabbitMQ（端口 15672），但有时候命令的方式会更加方便一些，RabbitMQ 提供了 CLI 管理工具 rabbitmqadmin ，其实就是基于 RabbitMQ 的 HTTP API，用 Python 写的一个脚本。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==rabbitmqadmin 命令汇总：==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
命令 	解释&lt;br /&gt;
rabbitmqadmin list users 	查看所有用户 User&lt;br /&gt;
rabbitmqadmin list users name 	查看所有用户名 Username&lt;br /&gt;
rabbitmqadmin list users tags 	查看所有用户角色&lt;br /&gt;
rabbitmqadmin list vhosts 	查看所有虚拟主机&lt;br /&gt;
rabbitmqadmin list connections 	查看所有连接&lt;br /&gt;
rabbitmqadmin list exchanges 	查看所有路由 Exchange&lt;br /&gt;
rabbitmqadmin list bindings 	查看所有路由与队列的关系绑定 Binding&lt;br /&gt;
rabbitmqadmin list permissions 	查看所有角色的权限 Permission&lt;br /&gt;
rabbitmqadmin list channels 	查看所有通道 Channel&lt;br /&gt;
rabbitmqadmin list consumers 	查看所有消费者 Consumer&lt;br /&gt;
rabbitmqadmin list queues 	查看所有消息队列 Queue&lt;br /&gt;
rabbitmqadmin list nodes 	查看所有节点 Node&lt;br /&gt;
rabbitmqadmin show overview 	概览 Overview&lt;br /&gt;
rabbitmqadmin list bindings source destination_type destination properties_key 	查看所有路由与队列的关系绑定的详细信息 Binding&lt;br /&gt;
rabbitmqadmin declare queue name=test durable=true 	定义一个队列queue，durable=true代表持久化打开。&lt;br /&gt;
rabbitmqadmin declare exchange name=my.fanout type=fanout 	定义一个Fanout路由&lt;br /&gt;
rabbitmqadmin declare exchange name=my.direct type=direct 	定义一个Direct路由&lt;br /&gt;
rabbitmqadmin declare exchange name=my.topic type=topic 	定义一个Topic路由&lt;br /&gt;
rabbitmqadmin declare binding source=my.fanout destination=test routing_key=first 	定义 binding&lt;br /&gt;
rabbitmqadmin publish routing_key=test payload=&amp;quot;hello world&amp;quot; 	发布一条消息&lt;br /&gt;
rabbitmqadmin publish routing_key=my.test exchange=my.topic payload=&amp;quot;hello world&amp;quot; 	使用路由转发消息&lt;br /&gt;
rabbitmqadmin get queue=test requeue=true 	查看消息，不消费&lt;br /&gt;
rabbitmqadmin get queue=test requeue=false 	查看消息，并消费&lt;br /&gt;
rabbitmqadmin purge queue name=test 	删除队列中的所有消息 清空队列&lt;br /&gt;
rabbitmqadmin delete queue name=hello 	删除消息队列 Queue&lt;br /&gt;
rabbitmqadmin delete user name=test 	删除用户 User&lt;br /&gt;
rabbitmqadmin delete exchange name=test 	删除路由器 Exchange&lt;br /&gt;
rabbitmqadmin delete binding source=&amp;#039;kk&amp;#039; destination_type=queue destination=test properties_key=test 	删除路由器与消息队列的关系绑定 Binding&lt;br /&gt;
rabbitmqadmin -f raw_json list users 	raw_json 格式化输出&lt;br /&gt;
rabbitmqadmin -f long list users 	格式化输出&lt;br /&gt;
rabbitmqadmin -f pretty_json list users 	pretty_json 格式化输出&lt;br /&gt;
rabbitmqadmin -f kvp list users 	格式化输出&lt;br /&gt;
rabbitmqadmin -f tsv list users 	格式化输出&lt;br /&gt;
rabbitmqadmin -f table list users 	table 格式化输出&lt;br /&gt;
rabbitmqadmin -f bash list users 	bash 格式化输出&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==NOTE==&lt;br /&gt;
 注意  运维 例如查看队列 是用  rabbitmqadmin ，rabbitmqadmin  --username=admin   --password=333  list queues  不是  rabbitmqctl list_queues 早上 同桌也说是这个 ，搞半天 还以为集群坏了呢 还看什么日志&lt;br /&gt;
[https://blog.csdn.net/heirenyagao112/article/details/113527184  rabbitmqctl 命令行操作命令]&lt;br /&gt;
[https://blog.csdn.net/liao0801_123/article/details/91524878?spm=1001.2101.3001.6650.1&amp;amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_antiscanv2&amp;amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_antiscanv2&amp;amp;utm_relevant_index=2  通过rabbitMQ的管理命令rabbitmqctl, 创建queue和exchange并绑定路由]&lt;br /&gt;
&lt;br /&gt;
=RabbitMQ 概念：=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
概念 	详解&lt;br /&gt;
Exchange 	消息交换机，它指定消息按什么规则，路由到哪个队列&lt;br /&gt;
Queue 	消息队列，每个消息都会被投入到一个或多个队列&lt;br /&gt;
Binding 	绑定，它的作用就是把 exchange 和 queue 按照路由规则绑定起来&lt;br /&gt;
Routing Key 	路由关键字，exchange 根据这个关键字进行消息投递&lt;br /&gt;
Vhost 	虚拟主机，可以开设多个 vhost，用作不同用户的权限分离&lt;br /&gt;
Producer 	消息生产者，就是投递消息的程序&lt;br /&gt;
Consumer 	消息消费者，就是接受消息的程序&lt;br /&gt;
Channel 	消息通道，在客户端的每个连接里，可建立多个 channel，每个 channel 代表一个会话任务&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=other=&lt;br /&gt;
[https://blog.csdn.net/weixin_33705053/article/details/88008866 RabbitMQ实战：界面管理和监控]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/jinixin/article/details/84038616 「消息队列」RabbitMQ监控与管理]&lt;br /&gt;
&lt;br /&gt;
=查看 RabbitMQ日志=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/weixin_33716941/article/details/90324587 学会查看 RabbitMQ日志]&lt;br /&gt;
&lt;br /&gt;
=troubleshooting=&lt;br /&gt;
&lt;br /&gt;
rabbitmq web 清空 queue 报错 Access refused. - access to&lt;br /&gt;
&lt;br /&gt;
原来有个 vhost没添加到 admin用户里面呢 添加一下就行了&lt;br /&gt;
https://blog.csdn.net/Dearbb1/article/details/84455591&lt;br /&gt;
&lt;br /&gt;
=* see alse=&lt;br /&gt;
[https://blog.csdn.net/zyz511919766/article/details/42292655 RabbitMQ用户角色及权限控制]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/chenshourui/article/details/81203770 rabbitmq学习笔记2 ： 添加用户和virtual hosts]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/xishuai/p/rabbitmq-cli-rabbitmqadmin.html RabbitMQ CLI 管理工具 rabbitmqadmin（管理和监控）]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.rabbitmq.com/management-cli.html Management Command Line Tool官网]&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/8414cd70bef1 05_RabbitMQ 的CLI管理工具 rabbitmqadmin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:ops]]&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>