This paper addresses channel assignment and random medium access design for single-radio multi-channel mesh networks. Two prior approaches include: (i) designing MAC protocols that dynamically select channels based on local information and (ii) partitioning the mesh into subnetworks with different channels and using 802.11 as the medium access protocol. Both of these approaches suffer from limited throughput improvement; the first approach due to wrong or incomplete channel state information that inherently arises in a multi-hop wireless environment, while the second approach due to high interference within each subnetwork. In this paper, we first introduce D1C-CA, Distance-1 Constrained Channel Assignment. D1C-CA statically assigns channels to a set of links as a function of physical connectivity, contention, and the unique gateway functionality of mesh networks, i.e, all internet (non-local) traffic has a gateway node as its source or destination. To design D1C-CA, we model the channel assignment problem as a new form of graph edge coloring in which edges at distance one are constrained. We prove that the problem is NP-complete and design an efficient heuristic solution for mesh networks. Second, we design an asynchronous control-channel-based MAC protocol that solves multi-channel coordination problems and employs the proposed channel assignment algorithm. Finally, we investigate the performance of our approach through extensive simulations and show considerable performance improvements compared to alternate schemes.