记录rabbitMq中常见的命令

用户角色分类#

none#

通常就是普通的生产者和消费者,无法登录控制台,不能访问 management plugin ,通常就是普通的生产者和消费者。

management#

普通管理者,仅可登陆管理控制台(启用 management plugin 的情况下),无法看到节点信息,也无法对 policies 进行管理。可以通过 AMQP 做的任何事外加:

  • 列出自己可以通过AMQP登入的 virtual hosts
  • 查看自己的 virtual hosts 中的 queues, exchangesbindings
  • 查看和关闭自己的 channelsconnections
  • 查看有关自己的 virtual hosts的全局统计信息,包含其他用户在这些 virtual hosts中的活动

policymaker#

策略制定者management可以做的任何事外加:

查看、创建和删除自己的 virtual hosts所属的 policiesparameters

monitoring#

监控者management可以做的任何事外加:

列出所有virtual hosts,包括他们不能登录的virtual hosts

查看其他用户的 connectionschannels

查看节点级别的数据如 clusteringmemory使用情况

查看真正的关于所有 virtual hosts的全局的统计信息

同时可以查看 rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

administrator#

超级管理员policymakermonitoring可以做的任何事外加:

创建和删除virtual hosts

查看、创建和删除 users

查看创建和删除 permissions

关闭其他用户的 connections

RabbitMQ Control#

使用Web管理界面可以实现RabbitMQ的大部分常用功能,但是有些功能WebUI是做不到的,如:开启/关闭RabbitMQ应用程序和集群的管理等。RabbitMQ Control是RabbitMQ的命令行管理工具,可以调用所有的RabbitMQ内置功能,主命令是 rabbitmqctl

创建用户#

rabbitmqctl add_user {用户名} {密码}

设置权限#

rabbitmqctl set_user_tags {用户名} {权限}

比如:创建一个超级用户

rabbitmqctl add_user admin1 admin1
rabbitmqctl set_user_tags admin1 administrator

查看用户列表#

rabbitmqctl list_users

为用户赋权#

// 使用户user1具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
rabbitmqctl  set_permissions -p vhost1 user1 '.*' '.*' ' .*'

查看权限#

rabbitmqctl list_user_permissions user1
rabbitmqctl list_permissions -p vhost1

清除权限#

rabbitmqctl clear_permissions [-p VHostPath] User

删除用户#

rabbitmqctl delete_user Username

修改用户密码#

rabbitmqctl change_password Username Newpassword

Management Plugin#

找到安装rabbitMQ的路径,然后切换到sbin的文件夹,管理员运行Shell脚本

rabbitmq-pluginsenable rabbitmq_managementrabbitmqctl clear_permissions [-p VHostPath] User

启动监控管理器#

rabbitmq-plugins enable rabbitmq_management

关闭监控管理器#

rabbitmq-plugins disable rabbitmq_management

启动rabbitmq#

net start RabbitMQ

关闭rabbitmq#

net stop RabbitMQ

查看所有的队列#

rabbitmqctl list_queues

清除所有的队列#

rabbitmqctl reset

查看已有用户及角色#

rabbitmqctl list_users

新增虚拟主机#

rabbitmqctl add_vhost vhost_name

将新虚拟主机授权给新用户#

rabbitmqctl set_permissions -p vhost_name username '.*' '.*' '.*'

设置用户权限#

rabbitmqctl set_permissions -p VHostPath username ConfP WriteP ReadP

查看(指定hostpath)所有用户的权限信息#

rabbitmqctl list_permissions [-p VHostPath]

查看指定用户的权限信息#

rabbitmqctl list_user_permissions username

清除用户的权限信息#

rabbitmqctl clear_permissions [-p VHostPath] username