title: phpmyadmin: Cannot login with a user who is not root (Access denied for user + PHP was built without openssl extension, can't send password encrypted)
body: <h1>Problem</h1>
  
  <p>I cannot login to phpmyadmin with a user who is not the root-user.</p>
  
  <h1>Description</h1>
  
  <p>I installed a Webserver with XAMPP, a MySQL-Server 8.0.12 with the Community-Installer and phpMyAdmin 4.8.2 (PHP 7.2.8).</p>
  
  <p><strong>Logging in to phpmyadmin with the root-user works fine.</strong></p>
  
  <p>I added a new user in the MySQL Workbench: </p>
  
  <blockquote>
    <p>Username: web <br>
       Authentication Type: Standard <br>
       Limits To Hosts Matching: localhost<br>
       Password: strongpassword</p>
  </blockquote>
  
  <p>I try to login from the same machine.</p>
  
  <p><strong>But when I do one of the following things, I get the later listed errors.</strong></p>
  
  <ul>
  <li>Trying to login with a incorrect password or a incorrect username</li>
  <li>Trying to login to any user who is not root (even when the password is correct)</li>
  </ul>
  
  <blockquote>
    <p>Cannot log in to the MySQL server</p>
    
    <p>mysqli_real_connect(): PHP was built without openssl extension, can't send password encrypted</p>
    
    <p>mysqli_real_connect(): (HY000/1045): Access denied for user 'web'@'localhost' (using password: YES)</p>
  </blockquote>
  
  <h2>Extract from my config.inc.php</h2>
  
  <pre><code>$cfg['blowfish_secret'] = 'longstringwithmanyletters';
  $cfg['Servers'][$i]['auth_type'] = 'cookie';
  $cfg['Servers'][$i]['host'] = 'localhost';
  $cfg['Servers'][$i]['compress'] = false;
  $cfg['Servers'][$i]['AllowNoPassword'] = false;
  </code></pre>
  
  <p>I have now row like "user" or "password" or "extension".</p>
  
  <h2>What I tried already using the search function</h2>
  
  <ol>
  <li>I have only one MySQL open</li>
  <li>I changed localhost to 127.0.0.1</li>
  <li>I changed auth_type from <code>cookie</code> to <code>http</code></li>
  <li>I added the row <code>$cfg['Servers'][$i]['extension'] = 'mysqli';</code></li>
  <li>I added the rows <code>$cfg['Servers'][$i]['user'] = 'root';</code> and <code>$cfg['Servers'][$i]['password'] = 'myrealrootpassword';</code></li>
  <li>I deleted and editeted new users multiple times (in phpmyadmin with my root-user and in the MySQL Workbench)</li>
  <li>I tried the phpmyadmin 5.0+ snapshot</li>
  </ol>
  
  <h2>My thoughts</h2>
  
  <p>Maybe it has something to do with SSL (i have no SSL) or with the MySQL-extension because when I enter a incorrect password, I get a MySQL-error instead of a "wrong password"-error. But however the root user works.</p>
  
  <h2>Edit #1</h2>
  
  <p>I added the following code to the config.inc.php:</p>
  
  <pre><code>$cfg['Servers'][$i]['ssl'] = true;
  </code></pre>
  
  <p>Now the error "mysqli_real_connect(): PHP was built without openssl extension, can't send password encrypted" is no longer showing up. The other errors are still there.</p>
  
  <h1>Different problem which might belong to this one</h1>
  
  <p>When I try to create a user in the phpmyadmin interface (User Accounts > Add User Account), the user gets created but without any password an with the following error:</p>
  
  <blockquote>
    <p>1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_' at line 1</p>
  </blockquote>
  
  <p>The SQL code:</p>
  
  <pre><code>CREATE USER 'peter'@'localhost' IDENTIFIED WITH caching_sha2_password AS '***';
  GRANT USAGE ON *.* TO 'peter'@'localhost' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
  </code></pre>
  
  <p>This is why I created the new users in MySQL Workbench.</p>