| 183 | | |
|---|
| 184 | | $value = midgard_setup_cli::get_text(_("What is MySQL admin username?")); |
|---|
| 185 | | |
|---|
| 186 | | if(!$value && $value == '') |
|---|
| 187 | | $value = "root"; |
|---|
| 188 | | |
|---|
| 189 | | midgard_setup_cli::message( |
|---|
| 190 | | _("Preparing to create database. You will be asked for password if needed.")); |
|---|
| 191 | | |
|---|
| | 190 | if(!isset($this->mysql_admin_name)) |
|---|
| | 191 | { |
|---|
| | 192 | $value = midgard_setup_cli::get_text(_("What is MySQL admin username?"), "root"); |
|---|
| | 193 | |
|---|
| | 194 | if(!$value && $value == '') |
|---|
| | 195 | $value = "root"; |
|---|
| | 196 | |
|---|
| | 197 | midgard_setup_cli::message( |
|---|
| | 198 | _("Preparing to create database. You will be asked for password if needed.")); |
|---|
| | 199 | |
|---|
| | 200 | } else { |
|---|
| | 201 | |
|---|
| | 202 | $value = $this->mysql_admin_name; |
|---|
| | 203 | midgard_setup_cli::message(_("Preparing to create database with default admin account ") . "'{$value}'"); |
|---|
| | 204 | } |
|---|
| | 205 | |
|---|
| | 206 | /* Try to create database and grant privileges in one run. |
|---|
| | 207 | * This way we avoid asking for MySQL's admin password twice */ |
|---|
| 194 | | $m .= " --user {$value} -p "; |
|---|
| 195 | | $m .= " -e \"CREATE DATABASE {$this->midgard_config->database} CHARACTER SET utf8\""; |
|---|
| 196 | | |
|---|
| 197 | | $output = 0; |
|---|
| | 210 | $m .= " --user {$value} -p "; |
|---|
| | 211 | |
|---|
| | 212 | /* Create database */ |
|---|
| | 213 | $m .= " -e \"CREATE DATABASE {$this->midgard_config->database} CHARACTER SET utf8;"; |
|---|
| | 214 | |
|---|
| | 215 | /* Grant all privileges */ |
|---|
| | 216 | $m .= " GRANT all ON {$this->midgard_config->database}.* "; |
|---|
| | 217 | $m .= " to '{$this->midgard_config->dbuser}'@'{$this->midgard_config->host}'"; |
|---|
| | 218 | $m .= " identified by '{$this->midgard_config->dbpass}';"; |
|---|
| | 219 | |
|---|
| | 220 | /* flush privileges */ |
|---|
| | 221 | $m .= " FLUSH PRIVILEGES \""; |
|---|
| | 222 | |
|---|
| | 223 | $output = 0; |
|---|
| 206 | | midgard_setup_cli::error(_("Couldn't create {$this->midgard_config->database} database")); |
|---|
| 207 | | |
|---|
| 208 | | } |
|---|
| 209 | | |
|---|
| 210 | | /* Database is created, let's create midgard user */ |
|---|
| 211 | | |
|---|
| 212 | | unset($output); |
|---|
| 213 | | $output = array(); |
|---|
| 214 | | unset($retval); |
|---|
| 215 | | midgard_setup_cli::message(_("Preparing to create database user. You will be asked for password if needed.")); |
|---|
| 216 | | |
|---|
| 217 | | $m = MIDGARD_SETUP_MYSQL_CMD; |
|---|
| 218 | | $m .= " --host {$this->midgard_config->host}"; |
|---|
| 219 | | $m .= " --user {$value} -p "; |
|---|
| 220 | | $m .= " -e \"GRANT all ON {$this->midgard_config->database}.* "; |
|---|
| 221 | | $m .= " to '{$this->midgard_config->dbuser}'@'{$this->midgard_config->host}'"; |
|---|
| 222 | | $m .= " identified by '{$this->midgard_config->dbpass}'"; |
|---|
| 223 | | $m .= "; FLUSH PRIVILEGES \""; |
|---|
| 224 | | |
|---|
| 225 | | exec($m, &$output, &$retval); |
|---|
| 226 | | |
|---|
| 227 | | if($retval != 0) |
|---|
| 228 | | { |
|---|
| 229 | | midgard_setup_cli::error(_("Couldn't create user for {$this->midgard_config->database} database")); |
|---|
| 230 | | } |
|---|
| 231 | | |
|---|
| | 232 | midgard_setup_cli::error(_("Couldn't create {$this->midgard_config->database} database")); |
|---|
| | 233 | } |
|---|
| | 234 | |
|---|
| | 235 | /* Connect to midgard database */ |
|---|