Sachverhalt: A. Der 1964 geborene M._ meldete sich im März 2002 bei der Invalidenversicherung an und beantragte eine Rente. Nach Abklärungen sprach ihm die IV-Stelle des Kantons St. Gallen mit Verfügungen vom 15. Mai 2003 ab 1. April 2001 auf Grund eines Invaliditätsgrades von 100 % eine ganze Rente samt Zusatzrente für die Ehefrau und drei Kinderrenten zu. Am ... wurde die Ehe des M._ geschieden, was eine Neuberechnung der Rente zur Folge hatte. Im Rahmen des im Dezember 2004 eingeleiteten Revisionsverfahrens wurde M._ vom 11. bis 15. Dezember 2006 im Zentrum für Medizinische Begutachtung (ZMB) interdisziplinär abgeklärt. Nach Einholung der Stellungnahme des Regionalen Ärztlichen Dienstes zum Gutachten vom 30. Januar 2007 und nach Durchführung des Vorbescheidverfahrens hob die IV-Stelle mit Verfügung vom 12. Mai 2007 die Rente auf Ende des der Zustellung des Entscheids folgenden Monats auf. B. Die Beschwerde des M._ wies das Versicherungsgericht des Kantons St. Gallen mit Entscheid vom 31. Oktober 2008 ab, soweit darauf eingetreten wurde. C. M._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit den Rechtsbegehren, der Entscheid vom 31. Oktober 2008 sei aufzuheben und ihm weiterhin eine ganze Rente zuzusprechen, eventualiter die Sache zur Durchführung eines multidisziplinären Gutachtens an die Vorinstanz zurückzuweisen, unter Gewährung der unentgeltlichen Rechtspflege. Das kantonale Versicherungsgericht beantragt die Abweisung der Beschwerde. IV-Stelle und Bundesamt für Sozialversicherungen verzichten auf eine Vernehmlassung. D. Im Rahmen eines zweiten Schriftenwechsels haben die Parteien und die Vorinstanz zur Frage der zweifellosen Unrichtigkeit der Rentenzusprechung vom 15. Mai 2003 Stellung genommen.