With the advent of multiple radio interfaces on a single device, wireless mesh networks start to achieve significant improvement in network capacity, latency, and fault tolerance. The improvement is achieved through concurrent transmissions over different channels utilizing the multiple radio interfaces. However, the introduction of different channels over multiple radios on single mesh node compels to retrospect different issues such as interference, channel diversity, and channel switching from novel perspectives. Due to these novel perspectives, conventional channel assignment techniques proposed for single-radio wireless mesh networks are not generally applicable to the multi-radio cases. Consequently, we have to reconsider the different issues while making a tradeoff among all the available channel assignment options to extract the best performance from a multi-radio wireless mesh network. There are a number of research studies that propose various channel assignment techniques to extract the best performance. In this paper, we present a comprehensive survey on these studies. First, we point out various design issues pertinent to the techniques presented in the studies, and adopt the issues as the basis of our further discussion. Second, we briefly describe several important already-proposed channel assignment techniques. Third, we present a number of channel assignment metrics that are exploited by the already-proposed techniques. Then, depending on the considerations in these techniques, we categorize the techniques and present an exhaustive comparison among them. Nevertheless, we point out a number of real deployments and applications of these techniques in real scenarios. Finally, we identify several open issues for future research with their current status in the literature.