From 2b7d63f56551bcbb67f4104104614ea314158779 Mon Sep 17 00:00:00 2001 From: Hemanth Kumar Veeranki Date: Mon, 31 Oct 2016 16:32:22 +0530 Subject: Added Exception catch in case of DB User exists Signed-off-by: Hemanth Kumar Veeranki --- lib/private/Setup/MySQL.php | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'lib/private/Setup') diff --git a/lib/private/Setup/MySQL.php b/lib/private/Setup/MySQL.php index c022616d8b3..d1399c8821c 100644 --- a/lib/private/Setup/MySQL.php +++ b/lib/private/Setup/MySQL.php @@ -87,14 +87,22 @@ class MySQL extends AbstractDatabase { * @throws \OC\DatabaseSetupException */ private function createDBUser($connection) { - $name = $this->dbUser; - $password = $this->dbPassword; - // we need to create 2 accounts, one for global use and one for local user. if we don't specify the local one, - // the anonymous user would take precedence when there is one. - $query = "CREATE USER '$name'@'localhost' IDENTIFIED BY '$password'"; - $connection->executeUpdate($query); - $query = "CREATE USER '$name'@'%' IDENTIFIED BY '$password'"; - $connection->executeUpdate($query); + try{ + $name = $this->dbUser; + $password = $this->dbPassword; + // we need to create 2 accounts, one for global use and one for local user. if we don't specify the local one, + // the anonymous user would take precedence when there is one. + $query = "CREATE USER '$name'@'localhost' IDENTIFIED BY '$password'"; + $connection->executeUpdate($query); + $query = "CREATE USER '$name'@'%' IDENTIFIED BY '$password'"; + $connection->executeUpdate($query); + } + catch (\Exception $ex){ + $this->logger->error('Database User creation failed: {error}', [ + 'app' => 'mysql.setup', + 'error' => $ex->getMessage() + ]); + } } /** -- cgit v1.2.3