The deal, first reported by The Athletic, is pending a physical.
With the signing, Asdrubal Cabrera is expected to be the Mets' starting second baseman in 2018.
Frazier, 31, had inked a $12 million, one-year deal with the White Sox last season. They traded him to the Yankees in late July. Frazier, who is from New Jersey, was received warmly when he returned to the New York City area.
He replaced Chase Headley at third base, as the Yankees liked Frazier's defense over Headley's. Frazier, known for his big, effusive personality, immediately had an impact in the clubhouse; he took on a leadership role, which is unusual for a player who arrives during the season in a trade. Overall, Frazier hit .213 with 27 homers and 76 RBIs in 147 games.
Frazier began his major league career in Cincinnati, where he became a two-time National League All-Star. The Reds traded Frazier to the White Sox prior to the 2016 season. He played in Chicago until this past July.
Frazier won the Home Run Derby in 2015. He led Toms River (New Jersey) to the Little League World Series title in 1998.
ESPN's Andrew Marchand contributed to this report.