diff --git includes/database/mysql/database.inc includes/database/mysql/database.inc index b91d1d4..c7ab84b 100644 --- includes/database/mysql/database.inc +++ includes/database/mysql/database.inc @@ -20,12 +20,16 @@ class DatabaseConnection_mysql extends DatabaseConnection { // MySQL never supports transactional DDL. $this->transactionalDDLSupport = FALSE; - // Default to TCP connection on port 3306. - if (empty($connection_options['port'])) { - $connection_options['port'] = 3306; + if (isset($connection_options['unix_socket'])) { + $dsn = 'mysql:dbname=' . $connection_options['database'] . ';unix_socket=' . $connection_options['unix_socket']; + } + else { + // Default to TCP connection on port 3306. + if (empty($connection_options['port'])) { + $connection_options['port'] = 3306; + } + $dsn = 'mysql:host=' . $connection_options['host'] . ';port=' . $connection_options['port'] . ';dbname=' . $connection_options['database']; } - - $dsn = 'mysql:host=' . $connection_options['host'] . ';port=' . $connection_options['port'] . ';dbname=' . $connection_options['database']; parent::__construct($dsn, $connection_options['username'], $connection_options['password'], array( // So we don't have to mess around with cursors and unbuffered queries by default. PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => TRUE,