Cloud computing is an Internet-based computing and networking model, with elasticity and scalability capabilities where the services are delivered to its users in a non-demand style. In this computing paradigm, the request and response between users and providers must be managed using the resource allocation strategies. Therefore, allocating the provided resources to the users based on their needs is the important challenge in this environment. Also, an auction in the cloud is a process of buying and vending the cloud services by offering them up for bid and then selling the service to the highest bidder. However, to the best of our knowledge, there has not been any comprehensive and detailed paper about reviewing the state-of-the-art mechanisms on this important topic and providing open issues as well. Hence, this paper provides a comprehensive survey and review of the auction-based resource allocation mechanisms, which have been employed in the cloud environments up to now. Also, we classified the important cloud resource allocation mechanisms into four categories: one-sided, double-sided, combinatorial, and other types of auction-based mechanisms. Moreover, we reviewed the main progress in these four categories and defined the new issues. Finally, the paper offers the differences among reviewed mechanisms as well as guidelines for future investigation.