Sachverhalt: A. N._ bezog ab 1. Juli 1994 bis 31. Mai 1997 eine halbe Rente, vom 1. Juni 1997 bis 30. April 2001 eine Viertelsrente und ab 1. Mai 2001 wiederum eine halbe Rente der Invalidenversicherung. Mit Verfügung vom 5. Juli 2004 sprach ihr die IV-Stelle des Kantons Zürich eine ganze Rente rückwirkend ab 1. Januar 2004 zu. Die Rentenerhöhung erfolgte im Wesentlichen gestützt auf den Bericht des Hausarztes der Versicherten Dr. med. I._ vom 19. März 2004. Im Rahmen des im März 2008 eingeleiteten Revisionsverfahrens liess die IV-Stelle die Versicherte im Zentrum X._ untersuchen und begutachten (Expertise vom 19. April 2009 mit Stellungnahme vom 21. Oktober 2009). Nach durchgeführtem Vorbescheidverfahren hob sie mit Verfügung vom 19. Juli 2010 die Rente auf Ende des folgenden Monats auf. B. Die Beschwerde der N._ wies das Sozialversicherungsgericht des Kantons Zürich mit Entscheid vom 31. Juli 2012 ab. C. Mit Beschwerde in öffentlich-rechtlichen Angelegenheiten beantragt N._, der Entscheid vom 31. Juli 2012 sei aufzuheben und die IV-Stelle zu verpflichten, ihr auch nach dem 1. September 2010 eine Invalidenrente auszurichten.