本来今天是想做RabbitMQ之优先级队列的,但是,在RabbitMQ Server创建queue时,增加优先级的最大值,头脑发热写了9999999,导致电脑内存直接飙到100%,只能重启电脑,并卸载RabbitMQ。但是,我发现即使卸载(包括卸载Erlang和RabbitMQ Server),再安装,之前创建的queue却还在。这样,致使我的电脑内存一直处于使用100%的状态,根本就做不了事。所以,我就上网查询了RabbitMQ相关命令,想通过命令删除相关的queue。虽然并未成功,但是,还是想把RabbitMQ的基本命令使用记录下来,最后也会附上这个问题的解决方法。
以下命令在windows环境可以正常使用(需要在RabbitMQ Server安装目录下运行,我的是D:\softInstall\rabbitMQ\rabbitmq_server-3.6.9\sbin):
net stop RabbitMQ && net start RabbitMQ:停止RabbitMQ后启动
rabbitmqctl list_queues:查看所有队列信息
rabbitmqctl stop_app:关闭应用(关闭当前启动的节点)
rabbitmqctl start_app:启动应用,和上述关闭命令配合使用,达到清空队列的目的
rabbitmqctl reset:从管理数据库中移除所有数据,例如配置过的用户和虚拟宿主, 删除所有持久化的消息(这个命令要在rabbitmqctl stop_app之后使用)
rabbitmqctl force_reset:作用和rabbitmqctl reset一样,区别是无条件重置节点,不管当前管理数据库状态以及集群的配置。如果数据库或者集群配置发生错误才使用这个最后的手段
rabbitmqctl status:节点状态
rabbitmqctl add_user username password:添加用户
rabbitmqctl list_users:列出所有用户
rabbitmqctl list_user_permissions username:列出用户权限
rabbitmqctl change_password username newpassword:修改密码
rabbitmqctl add_vhost vhostpath:创建虚拟主机
rabbitmqctl list_vhosts:列出所有虚拟主机
rabbitmqctl set_permissions -p vhostpath username ".*" ".*" ".*":设置用户权限
rabbitmqctl list_permissions -p vhostpath:列出虚拟主机上的所有权限
rabbitmqctl clear_permissions -p vhostpath username:清除用户权限
rabbitmqctl -p vhostpath purge_queue blue:清除队列里的消息
rabbitmqctl delete_user username:删除用户
rabbitmqctl delete_vhost vhostpath:删除虚拟主机
命令就整理到这里吧,附上上面问题的解决方法:删除RabbitMQ卸载后仍保存的信息,我电脑上的目录是C:\Users\lenovo\AppData\Roaming\RabbitMQ,将这个目录删除就OK了。