diff --git a/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php b/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php
index ad34c2957cf52d1212941963c818cbcbecff3820..58b6333394de20b032e4db96365e0a5720accff7 100644
--- a/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php
+++ b/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php
@@ -197,15 +197,8 @@ public static function open(array &$connection_options = []) {
       'init_commands' => [],
     ];
 
-    $sql_mode = 'ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,ONLY_FULL_GROUP_BY';
-    // NO_AUTO_CREATE_USER is removed in MySQL 8.0.11
-    // https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-11.html#mysqld-8-0-11-deprecation-removal
-    $version_server = $pdo->getAttribute(\PDO::ATTR_SERVER_VERSION);
-    if (version_compare($version_server, '8.0.11', '<')) {
-      $sql_mode .= ',NO_AUTO_CREATE_USER';
-    }
     $connection_options['init_commands'] += [
-      'sql_mode' => "SET sql_mode = '$sql_mode'",
+      'sql_mode' => "SET sql_mode = 'ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,ONLY_FULL_GROUP_BY'",
     ];
 
     // Execute initial commands.
@@ -297,7 +290,11 @@ protected function getMariaDbVersionMatch(): ?string {
    *   The PDO server version.
    */
   protected function getServerVersion(): string {
-    return $this->connection->getAttribute(\PDO::ATTR_SERVER_VERSION);
+    static $server_version;
+    if (!$server_version) {
+      $server_version = $this->connection->query('SELECT VERSION()')->fetchColumn();
+    }
+    return $server_version;
   }
 
   public function databaseType() {
diff --git a/core/tests/Drupal/Tests/Core/Database/Driver/mysql/ConnectionTest.php b/core/tests/Drupal/Tests/Core/Database/Driver/mysql/ConnectionTest.php
index 4379ef8318040af8b6dab034b4148ac3536c4983..3aa96b8c4e513abfefd0f2780c75d22774a9f7ac 100644
--- a/core/tests/Drupal/Tests/Core/Database/Driver/mysql/ConnectionTest.php
+++ b/core/tests/Drupal/Tests/Core/Database/Driver/mysql/ConnectionTest.php
@@ -10,9 +10,17 @@
  *
  * @coversDefaultClass \Drupal\Core\Database\Driver\mysql\Connection
  * @group Database
+ * @runTestsInSeparateProcesses
  */
 class ConnectionTest extends UnitTestCase {
 
+  /**
+   * A PDO statement prophecy.
+   *
+   * @var \PDOStatement|\Prophecy\Prophecy\ObjectProphecy
+   */
+  private $pdoStatement;
+
   /**
    * A PDO object prophecy.
    *
@@ -24,6 +32,7 @@ class ConnectionTest extends UnitTestCase {
    * {@inheritdoc}
    */
   public function setUp(): void {
+    $this->pdoStatement = $this->prophesize(\PDOStatement::class);
     $this->pdoConnection = $this->prophesize(\PDO::class);
   }
 
@@ -51,10 +60,16 @@ public function __construct(\PDO $connection) {
    * @dataProvider providerVersionAndIsMariaDb
    */
   public function testVersionAndIsMariaDb(bool $expected_is_mariadb, string $server_version, string $expected_version): void {
-    $this->pdoConnection
-      ->getAttribute(\PDO::ATTR_SERVER_VERSION)
+    $this->pdoStatement
+      ->fetchColumn()
       ->shouldBeCalled()
       ->willReturn($server_version);
+
+    $this->pdoConnection
+      ->query('SELECT VERSION()')
+      ->shouldBeCalled()
+      ->willReturn($this->pdoStatement->reveal());
+
     $connection = $this->createConnection();
 
     $is_mariadb = $connection->isMariaDb();