EasyEngine / EasyEngine/easyengine
Cannot create PHP site using --dbname: error in SQL
- Dominant language
- PHP
- Stars
- 2.2k
- Forks
- 424
- PR merge metrics
- No merged PRs in 30d
Description
# Issue
I am running into issues while trying to create a site with EE by running `ee site create cloud.my-site-domain.ca --type=php --with-db --dbname=my-db-name --dbuser=my-db-user --dbpass=my-db-user-pass --ssl=le`
It returns
```
Warning: Could not create user my-db-user. Please check logs.
Warning: Initiating clean-up.
Site cloud.my-site-domain.ca deleted.
```
Same error occurs when omitting `--dbuser` and `--dbpass` but it works well when omitting `--dbname``
## Expected outcome
The PHP site creation should be able to receive arguments for dbname, dbuser and dbpass.
## System Information
- [X] ee cli info
```
+-------------------+----------------------------------------------------------------------------+
| OS | Linux 4.15.0-47-generic #50-Ubuntu SMP Wed Mar 13 10:44:52 UTC 2019 x86_64 |
| Shell | /bin/bash |
| PHP binary | /usr/bin/php7.2 |
| PHP version | 7.2.17-1+ubuntu18.04.1+deb.sury.org+3 |
| php.ini used | /etc/php/7.2/cli/php.ini |
| EE root dir | phar://ee.phar |
| EE vendor dir | phar://ee.phar/vendor |
| EE phar path | /tmp |
| EE packages dir | |
| EE global config | /opt/easyengine/config/config.yml |
| EE project config | |
| EE version | 4.0.12 |
+-------------------+----------------------------------------------------------------------------+
```
- [x] lsb_release -a
```
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
```
- [x] docker version
```
Client:
Version: 18.09.5
API version: 1.39
Go version: go1.10.8
Git commit: e8ff056
Built: Thu Apr 11 04:43:57 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.5
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: e8ff056
Built: Thu Apr 11 04:10:53 2019
OS/Arch: linux/amd64
Experimental: false
```
- [x] docker-compose version
```
docker-compose version 1.23.1, build b02f1306
docker-py version: 3.5.0
CPython version: 3.6.7
OpenSSL version: OpenSSL 1.1.0f 25 May 2017
```
/opt/easyengine/log/ee.log
```
[04-05-2019 04:43:04] ee.INFO: ::::::::::::::::::::::::ee invoked::::::::::::::::::::::::
[04-05-2019 04:43:04] ee.DEBUG: -----------------------
[04-05-2019 04:43:04] ee.DEBUG: COMMAND: cd /opt/easyengine/services && docker ps -q --no-trunc | grep $(docker-compose ps -q global-nginx-proxy)
[04-05-2019 04:43:04] ee.DEBUG: STDOUT: 84e6276c7584ef198d579b639286f34bb854444f54c1b80e1da6e2aad686c81f
[04-05-2019 04:43:04] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:04] ee.DEBUG: -----------------------
[04-05-2019 04:43:04] ee.DEBUG: -----------------------
[04-05-2019 04:43:04] ee.DEBUG: COMMAND: docker ps > /dev/null
[04-05-2019 04:43:04] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:04] ee.DEBUG: -----------------------
[04-05-2019 04:43:04] ee.DEBUG: -----------------------
[04-05-2019 04:43:04] ee.DEBUG: COMMAND: command -v docker-compose > /dev/null
[04-05-2019 04:43:05] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: Using default global config: /opt/easyengine/config/config.yml
[04-05-2019 04:43:05] ee.DEBUG: No project config found
[04-05-2019 04:43:05] ee.DEBUG: argv: /usr/local/bin/ee site create cloud.my-site-domain.ca --type=php --with-db --dbname=my-db-name --dbuser=my-db-user --dbpass=9Bctz5$
[04-05-2019 04:43:05] ee.DEBUG: Running command: site
[04-05-2019 04:43:05] ee.DEBUG: Running command: site create
[04-05-2019 04:43:05] ee.INFO: ======================== site create start ========================
[04-05-2019 04:43:05] site_php_command.DEBUG: args: ["cloud.my-site-domain.ca"]
[04-05-2019 04:43:05] site_php_command.DEBUG: assoc_args: {"with-db":true,"dbname":"my-db-name","dbuser":"my-db-user","dbpass":"9Bctz5S9Hm3Rr5GH","ssl":"le","php":"late$
[04-05-2019 04:43:05] ee.DEBUG: COMMAND: which docker
[04-05-2019 04:43:05] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: COMMAND: docker inspect -f '{{.State.Running}}' 84e6276c7584ef198d579b639286f34bb854444f54c1b80e1da6e2aad686c81f
[04-05-2019 04:43:05] ee.DEBUG: STDOUT: true
[04-05-2019 04:43:05] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: COMMAND: docker inspect --format '{{ (index (index .NetworkSettings.Ports "80/tcp") 0).HostPort }}' 84e6276c7584ef198d579b639286f34bb854$
[04-05-2019 04:43:05] ee.DEBUG: STDOUT: 80
[04-05-2019 04:43:05] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: COMMAND: docker inspect --format '{{ (index (index .NetworkSettings.Ports "443/tcp") 0).HostPort }}' 84e6276c7584ef198d579b639286f34bb85$
[04-05-2019 04:43:05] ee.DEBUG: STDOUT: 443
[04-05-2019 04:43:05] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: COMMAND: docker network inspect ee-global-backend-network
[04-05-2019 04:43:05] ee.DEBUG: STDOUT: [ { "Name": "ee-global-backend-network", "Id": "9744e2826b142226f68503dd45f9970a7fb7930ecd586d4c8164fe0ad2f3$
[04-05-2019 04:43:05] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: COMMAND: docker network inspect ee-global-frontend-network
[04-05-2019 04:43:05] ee.DEBUG: STDOUT: [ { "Name": "ee-global-frontend-network", "Id": "cb42812fb94bcf4c4bf4650d2bcd337004d74508a5f10f7a8487b8b6de0$
[04-05-2019 04:43:05] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: COMMAND: which docker
[04-05-2019 04:43:05] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: COMMAND: docker inspect -f '{{.State.Running}}' services_global-db_1
[04-05-2019 04:43:05] ee.DEBUG: STDOUT: true
[04-05-2019 04:43:05] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: COMMAND: docker cp /tmp/db_exec services_global-db_1:/db_exec
[04-05-2019 04:43:05] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: -----------------------
[04-05-2019 04:43:05] ee.DEBUG: COMMAND: docker exec services_global-db_1 sh db_exec
[04-05-2019 04:43:06] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:06] ee.DEBUG: -----------------------
[04-05-2019 04:43:07] ee.DEBUG: -----------------------
[04-05-2019 04:43:07] ee.DEBUG: COMMAND: docker cp /tmp/db_exec services_global-db_1:/db_exec
[04-05-2019 04:43:07] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:07] ee.DEBUG: -----------------------
[04-05-2019 04:43:07] ee.DEBUG: -----------------------
[04-05-2019 04:43:07] ee.DEBUG: COMMAND: docker exec services_global-db_1 sh db_exec
[04-05-2019 04:43:07] ee.DEBUG: STDERR: ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server ver$
[04-05-2019 04:43:08] ee.DEBUG: RETURN CODE: 1
[04-05-2019 04:43:08] ee.DEBUG: -----------------------
[04-05-2019 04:43:08] ee.DEBUG: -----------------------
[04-05-2019 04:43:08] ee.DEBUG: COMMAND: docker cp /tmp/db_exec services_global-db_1:/db_exec
[04-05-2019 04:43:09] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:09] ee.DEBUG: -----------------------
[04-05-2019 04:43:09] ee.DEBUG: -----------------------
[04-05-2019 04:43:09] ee.DEBUG: COMMAND: docker exec services_global-db_1 sh db_exec
[04-05-2019 04:43:09] ee.DEBUG: RETURN CODE: 0
[04-05-2019 04:43:09] ee.DEBUG: -----------------------
[04-05-2019 04:43:09] ee.INFO: Site cloud.my-site-domain.ca deleted.
[04-05-2019 04:43:09] ee.INFO: ======================== site cleanup end ========================
```
/tmp/db_exec
```
mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e"DROP USER 'my-db-user'@'%';"
```
## Analysis
The SQL seems malformed around `-uroot` but the file /tmp/db_exec always gets overwritten and I didn't find when/where it gets created. I would expect a space between -u and root.
Contributor guide
Assessment
This issue has not been assessed yet.