记录rabbitMq中常见的命令
用户角色分类#
none#
通常就是普通的生产者和消费者,无法登录控制台,不能访问 management plugin ,通常就是普通的生产者和消费者。
management#
普通管理者,仅可登陆管理控制台(启用 management plugin 的情况下),无法看到节点信息,也无法对 policies 进行管理。可以通过 AMQP 做的任何事外加:
- 列出自己可以通过
AMQP登入的virtual hosts - 查看自己的
virtual hosts中的queues, exchanges和bindings - 查看和关闭自己的
channels和connections - 查看有关自己的
virtual hosts的全局统计信息,包含其他用户在这些virtual hosts中的活动
policymaker#
策略制定者,management可以做的任何事外加:
查看、创建和删除自己的 virtual hosts所属的 policies和 parameters
monitoring#
监控者,management可以做的任何事外加:
列出所有virtual hosts,包括他们不能登录的virtual hosts
查看其他用户的 connections和 channels
查看节点级别的数据如 clustering和 memory使用情况
查看真正的关于所有 virtual hosts的全局的统计信息
同时可以查看 rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
administrator#
超级管理员,policymaker和monitoring可以做的任何事外加:
创建和删除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 NewpasswordManagement 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