title: Enable remote MySQL connection: ERROR 1045 (28000): Access denied for user
body: <p>MySQL 5.1.31 running on Windows XP.</p>
  
  <p>From the <strong>local</strong> MySQL server (192.168.233.142) I can connect as root as follows:</p>
  
  <pre><code>&gt;mysql --host=192.168.233.142 --user=root --password=redacted
  </code></pre>
  
  <p>From a <strong>remote</strong> machine (192.168.233.163), I can see that the mysql port is open:</p>
  
  <pre><code># telnet 192.168.233.142 3306
  Trying 192.168.233.142...
  Connected to 192.168.233.142 (192.168.233.142).
  </code></pre>
  
  <p>But when trying to connect to mysql from the <strong>remote</strong> machine, I receive:</p>
  
  <pre><code># mysql --host=192.168.233.142 --user=root --password=redacted
  ERROR 1045 (28000): Access denied for user 'root'@'192.168.233.163' (using password: YES)
  </code></pre>
  
  <p>I have only 2 entries in mysql.user:</p>
  
  <pre><code>Host         User     Password
  --------------------------------------
  localhost    root     *blahblahblah
  %            root     [same as above]
  </code></pre>
  
  <p>What more do I need to do to enable remote access?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>As suggested by Paulo below, I tried replacing the mysql.user entry for % with an IP specific entry, so my user table now looks like this:</p>
  
  <pre><code>Host             User     Password
  ------------------------------------------
  localhost        root     *blahblahblah
  192.168.233.163  root     [same as above]
  </code></pre>
  
  <p>I then restarted the machine, but the problem persists.</p>