Code Monkey home page Code Monkey logo

dokku-mariadb's Issues

-

.

Couldn't destroy a service when the app is destroyed

When I tried to destroy MariaDB service, it comes back and says, "linked app can't be deleted". But the app is already destroyed and when I tried to unlink, it says "app is not available to unlink".

So, I've to create the app again just to destroy MariaDB service.

Database stuck in 'Restarting'

I have a mariadb service stuck in 'Restarting'. Issue persists on reboot. Everything on apt is up-to-date. Fresh installation on DigitalOcean Ubuntu 16.04. No other software installed apart from dokku and its dependencies.

dokku plugins installed:

  • letsencrypt
  • mariadb
  • postgres

There is just 1 other mariadb service that is running and works well.


dokku mariadb:stop

! Service is already stopped

dokku mariadb:start

-----> Starting container
docker: Error response from daemon: Conflict. The container name "/dokku.mariadb.bigtime-db-staging" is already in use by container "fa87f9e256425729f41155318041f30b7e37578637cd51fa178c95833ca4e858". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.

dokku mariadb:destroy --force

-----> Deleting [redacted db name]
Deleting container data
! Service is already stopped
Removing container
Error response from daemon: You cannot remove a restarting container fa87f9e256425729f41155318041f30b7e37578637cd51fa178c95833ca4e858. Stop the container before attempting removal or force remove

dokku mariadb:logs
https://gist.github.com/shrmnk/405bc8bc2d1d47a8892c15b868923503

Start a new (removed) container

I want to call for ideas to add a new command to deploy a new container with existent configuration.

This was the case: While I was cleaning up docker containers and images, I destroyed a dokku-mariadb container that was stopped earlier. I've found that there's no command to deploy again a dokku-mariadb container. mariadb:create creates a new configuration and mariadb:start doesn't found the old container.

I ended up creating a new command mariadb:deploy that is similar to mariadb:create but it reads the actual configuration to deploy the container.

As I could end up pushing the feature to other plugins like dokku-mongo, etc, I would want to quickly discuss with you the right name and description for the command.

What do you think?

one service with multiples databases

As you say me in ohardy/dokku-mariadb#14 (comment), I could use one service container with multiple databases.

First of all, I tried to connect with the instance and create the database manually, but doesn't work:

MariaDB [kikoblog]> CREATE DATABASE anoter_database;
ERROR 1044 (42000): Access denied for user 'mariadb'@'%' to database 'anoter_database'
MariaDB [kikoblog]>

Seems like it is a permission issue. Any ideas?

One more thing: I want to use single container with multiple databases because my machine is limited and I think that is a good approach to avoid have multiple services running that is equivalent to use more machine resources. Can you confirm me that this premise is correct?

thanks for your time maintaining amazing projects! :)

Consider to change default character set to utf8

MariaDB's default character set is latin1, so we can't handle utf8 encoded data by default.

Since dokku-mariadb supports custom user configuration, basically I think we don't need to change default configurations, but I think this is a reasonable one to change.

dokku-mysql plugin already changed to use utf8 as a default character set by this Pull request (#62).

dokku mariadb:create <service> freezes

I've traced the execution until functions#L257.

After stopping the command (Ctrl + c), the new service is frozen as "restarting" and can't be remove (it is detected as stopped), so the only way to really stop its container is sudo docker stop <id>.

dokku mariadb:logs <service> returns this (repeated more than 10 times):

error: database is uninitialized and password option is not specified
You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD

1.0 release

This plugin should be considered as ready for a 1.0 release.

Cannot run `mariadb:connect` and `mariadb:export` commands

Description of problem

Cannot run mariadb:connect and mariadb:export commands, it says command not found for mysql and mysqldump, respectively.
I checked and both mysql and mysqldump commands are available in the host machine but not in the container - in the service container the names are mariadb and mariadb-dump.

How reproducible

The problem occurs when I execute the following commands:

# dokku mariadb:export myservice
OCI runtime exec failed: exec failed: unable to start container process: exec: "mysqldump": executable file not found in $PATH: unknown

# dokku mariadb:connect myservice
env: ‘mysql’: No such file or directory

Environment Information

         00_dokku-standard    0.30.9 enabled    dokku core standard plugin                                                    
         mariadb              1.34.0 enabled    dokku mariadb service plugin                                                  

How (deb/make) and where (AWS, VirtualBox, physical, etc.) was Dokku installed?:

Using Debian repository.

Temporary fix

I've symlinked the executables and it worked:

container_id=$(dokku mariadb:info myservice | grep 'Id:' | awk '{print $2}')
docker exec -it $container_id ln -s /usr/bin/mariadb-dump /usr/bin/mysqldump
docker exec -it $container_id ln -s /usr/bin/mariadb /usr/bin/mysql

After this, running dokku mariadb:export works but warns:

mysqldump: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb-dump' instead

Unable to list Mariadb services due to a `*` folder

I started to have an issue everytime I ran: dokku mariadb:list. The command tried to run something on every file in the current folder, as weird as it sounds.

Real log of root@localhost:/home/dokku/web-app# dokku mariadb:list

Error: No such image or container: dokku.mariadb.CONTAINER.web.1
cat: /var/lib/dokku/services/mariadb/CONTAINER.web.1/ID: No such file or directory
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
/var/lib/dokku/plugins/enabled/mariadb/functions: line 349: /var/lib/dokku/services/mariadb/CONTAINER.web.1/LINKS: No such file or directory
Error: No such image or container: dokku.mariadb.DOKKU_SCALE
cat: /var/lib/dokku/services/mariadb/DOKKU_SCALE/ID: No such file or directory
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
/var/lib/dokku/plugins/enabled/mariadb/functions: line 349: /var/lib/dokku/services/mariadb/DOKKU_SCALE/LINKS: No such file or directory
Error: No such image or container: dokku.mariadb.ENV
cat: /var/lib/dokku/services/mariadb/ENV/ID: No such file or directory
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
/var/lib/dokku/plugins/enabled/mariadb/functions: line 349: /var/lib/dokku/services/mariadb/ENV/LINKS: No such file or directory

It continues for every file in the current folder.

After some research I've found an awful folder:

root@localhost:/var/lib/dokku/services/mariadb# ls -la
total 16
drwxr-xr-x 2 dokku dokku 4096 Nov  4 16:57 *
drwxr-xr-x 4 dokku dokku 4096 Nov  4 17:35 .
drwxr-xr-x 4 root  root  4096 Nov  4 16:48 ..
drwxr-xr-x 3 dokku dokku 4096 Nov  4 17:35 web-app

That */ folder has a LINKS file without content.

I don't know how it was created.

db backup script

could you please provide a db backup script which could dump all the databases?

Designate a data-dir at create or install

Description of problem

I have a separate large drive on my host server that I want to use as the data storage location for database systems. Is it possible to specify the data-dir for this plugin either at install time or at the time I create a new service?

How to override plugin alias

Currently my env variables in my app look like DOKKU_MARIADB_APP_NAME_DB_PORT. I'm looking to override the prefixed alias DOKKU_MARIADB, because Symfony framework only listens to env variables prefixed with SYMFONY__.

Is it the case that this prefix comes from PLUGIN_ALT_ALIAS in the config? I'm struggling a bit to override the PLUGIN_ALT_ALIAS env variable from the config. How would you do that?
With dokku config:set ?

Locking tables

The export command (mysql dump) by default locks all the tables. For a big export on a large site this can cause the site to become unresponsive. Although locking tables protects data consistency, it's often better to risk that and not kill the site during a backup.

So I propose changing https://github.com/dokku/dokku-mariadb/blob/master/functions#L64

from

docker exec "$SERVICE_NAME" mysqldump --user=mariadb --password="$PASSWORD" "$SERVICE"

to

docker exec "$SERVICE_NAME" mysqldump --lock-tables=false --user=mariadb --password="$PASSWORD" "$SERVICE"

Thoughts?

If it helps, we did it on the previous mariadb plugin - Kloadut/dokku-md-plugin@91fb68e

[Question] How to connect using GUI Client

Supposing this URI:

DSN: mysql://mariadb:PASSWORD@dokku-mariadb-kikoblog:3306/kikoblog

And using sequel pro it should be looks like:

screen shot 2016-01-07 at 00 53 25

but something is failling...

Unable to connect to host 172.17.0.1 because the port connection via SSH was refused.

Please ensure that your MySQL host is set up to allow TCP/IP connections (no --skip-networking) and is configured to allow connections from the host you are tunnelling via.

You may also want to check the port is correct and that you have the necessary privileges.

Checking the error detail will show the SSH debug log which may provide more details.

MySQL said: Lost connection to MySQL server at 'reading initial communication packet', system error: 0

How I check the mariadb internal IP? Like dokku-alt/dokku-alt#117

How to configure my.cnf

Hi!

I would like to configure innodb_buffer_pool_size . Is this configurable somehow.

I usually update it @ /etc/mysql/my.cnf for Wordpress Digitalocean VPSes

But for docker im not quite sure where to do that.

root@creative:~# locate my.cnf
/var/lib/docker/aufs/diff/66978a415c79686619b2999bab3338fb05aa505f032d032a13bd9132d40440af/etc/mysql/my.cnf
/var/lib/docker/aufs/diff/86fd8e7b9fca2d7999ef3a524e4470941c64a9542f2b4d3aab818378716f908c/etc/mysql/my.cnf
/var/lib/docker/aufs/diff/bae39a7a3d4407dc5d7dea3750d6504c3bc2bb778623eca20189b23cee14e899/etc/mysql/my.cnf
/var/lib/docker/aufs/diff/bae39a7a3d4407dc5d7dea3750d6504c3bc2bb778623eca20189b23cee14e899/etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf
/var/lib/docker/aufs/diff/eedacc43acd02e38fd1a142e8a4f06c539b550a2e516e7c54a32f715f6b2a154/etc/mysql/my.cnf
/var/lib/docker/aufs/diff/fecfc185bfdffd32718f317bb291f1cc60bbd4e48af6ff994e9ea16394281224/etc/mysql/my.cnf
/var/lib/docker/aufs/diff/fecfc185bfdffd32718f317bb291f1cc60bbd4e48af6ff994e9ea16394281224/etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf
/var/lib/docker/aufs/mnt/14eaa86df27268627a37d73502eed9d224ee8ccee866f3c3285624ec7de0142d/etc/mysql/my.cnf
/var/lib/docker/aufs/mnt/288bafabce28d53fafe731c0abefc43543d2ddb4c6bc412a3bb3138de9ff2c9d/etc/mysql/my.cnf
/var/lib/docker/aufs/mnt/288bafabce28d53fafe731c0abefc43543d2ddb4c6bc412a3bb3138de9ff2c9d/etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf
/var/lib/docker/aufs/mnt/2c5d3a751c36f58374c18b14ff078c2424c29a9de8179ea044a0ee85179d3277/etc/mysql/my.cnf
/var/lib/docker/aufs/mnt/2c5d3a751c36f58374c18b14ff078c2424c29a9de8179ea044a0ee85179d3277/etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf
/var/lib/docker/aufs/mnt/41d669f6b3af325b1d4191ff7a6acaf40c59a219262db149cdfe1deeaab56073/etc/mysql/my.cnf
/var/lib/docker/aufs/mnt/641403e5b5e4489404feddb34368cecf8c4cee29368e651427667bdabf0909c6/etc/mysql/my.cnf
/var/lib/docker/aufs/mnt/641403e5b5e4489404feddb34368cecf8c4cee29368e651427667bdabf0909c6/etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf
/var/lib/docker/aufs/mnt/7ebe0235653c4fea9be013d0aa4b42075465dbcaf42745421af5fd0218de32e4/etc/mysql/my.cnf
/var/lib/docker/aufs/mnt/81aef3c69b1907c467c24fa305105c11a2236c1fbfba5500f481445b70cbfb90/etc/mysql/my.cnf
/var/lib/docker/aufs/mnt/81aef3c69b1907c467c24fa305105c11a2236c1fbfba5500f481445b70cbfb90/etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf
/var/lib/docker/aufs/mnt/cb2edc194593a897e2bb7e53cf232ff867594ca2012fe86a1b77117fe64f51eb/etc/mysql/my.cnf
/var/lib/docker/aufs/mnt/f1cfd174edd4cedb75fa81254481a409ae65eff94c5cfd42e56b7093127ca682/etc/mysql/my.cnf
/var/lib/docker/aufs/mnt/f1cfd174edd4cedb75fa81254481a409ae65eff94c5cfd42e56b7093127ca682/etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf

When i run doker ps i see mariab containers for each blog container. Im not quite sure where to look for my.cnf

➜ ~ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
58ecf780fe59 dokku/blog.stockholmhealth.com:latest "/start web" 7 minutes ago Up 7 minutes blog.stockholmhealth.com.web.1
cc5d4cf4cf15 dokku/skaistumanoslepums.lv:latest "/start web" 22 hours ago Up 22 hours skaistumanoslepums.lv.web.1
fc4d5e252359 mariadb:10.1.13 "/docker-entrypoint.s" 22 hours ago Up 22 hours 3306/tcp dokku.mariadb.skaistumanoslepums.lv
8fb23aa02b5f dokku/uz-veselibu.lv:latest "/start web" 22 hours ago Up 22 hours uz-veselibu.lv.web.1
11e7c8bb5f0e dokku/blog.swisslanguages.com:latest "/start web" 23 hours ago Up 23 hours blog.swisslanguages.com.web.1
bf344ed59f00 mariadb:10.1.13 "/docker-entrypoint.s" 29 hours ago Up 29 hours 3306/tcp dokku.mariadb.blog.stockholmhealth.com
a4cd8d9f820f dokku/blog:latest "/start web" 4 days ago Up 4 days blog.web.1
694494f0241b mariadb:10.1.13 "/docker-entrypoint.s" 4 days ago Up 4 days 3306/tcp dokku.mariadb.uz-veselibu.lv
75b9a0618ca6 mariadb:10.1.13 "/docker-entrypoint.s" 4 days ago Up 4 days 3306/tcp dokku.mariadb.blog.swisslanguages.com
0e9df5bd0fee mariadb:10.1.13 "/docker-entrypoint.s" 4 days ago Up 4 days 3306/tcp dokku.mariadb.blog

Shared database container?

The plugin seems to work fine as is, but I was hoping for a slightly different approach. I'd like to model the database container/engine as a separate entity from the service, and allow that one container could support multiple services. I.e. one database engine/container could support multiple services. The advantage of this approach would be that it would require much less RAM for the mariadb container(s), especially in the case of having many web services each with infrequent use.

Given that most commands reference the service they are interested in, I don't imagine much would have to change in the interface. Mostly just an optional parameter on mariadb:create to name the engine, and some implications for how the configuration and data directories are laid out. What else?

Have I misunderstood something about how I could use the existing implementation to acheive this? Would you be interested in extending the official dokku plugin to support this sort of usage? I haven't scoped this out much yet, but if I helped with implementation, would you be OK with supporting this over time?

I don't like the idea of just having different apps use different databases within the one service, unless I can insulate the apps from each others' access details, but maybe there's another approach to be had there.

list function doesn't work

When I use the list command, I see the following errors:

alfred@vps206308:~$ dokku mariadb:list
[sudo] password for alfred:
-----> MariaDB services:
Error: No such image or container: dokku.mariadb.bootstrap.sh
cat: /var/lib/dokku/services/mariadb/bootstrap.sh/ID: No such file or directory
json: cannot unmarshal array into Go value of type types.ContainerJSON
json: cannot unmarshal array into Go value of type types.ContainerJSON
json: cannot unmarshal array into Go value of type types.ContainerJSON
json: cannot unmarshal array into Go value of type types.ContainerJSON
json: cannot unmarshal array into Go value of type types.ContainerJSON
       bootstrap.sh,  (stopped)
Error: No such image or container: dokku.mariadb.cron.sh
cat: /var/lib/dokku/services/mariadb/cron.sh/ID: No such file or directory
json: cannot unmarshal array into Go value of type types.ContainerJSON
json: cannot unmarshal array into Go value of type types.ContainerJSON
json: cannot unmarshal array into Go value of type types.ContainerJSON
json: cannot unmarshal array into Go value of type types.ContainerJSON
json: cannot unmarshal array into Go value of type types.ContainerJSON
       cron.sh,  (stopped)
Error: No such image or container: dokku.mariadb.provision.sh
cat: /var/lib/dokku/services/mariadb/provision.sh/ID: No such file or directory
json: cannot unmarshal array into Go value of type types.ContainerJSON
json: cannot unmarshal array into Go value of type types.ContainerJSON
json: cannot unmarshal array into Go value of type types.ContainerJSON
json: cannot unmarshal array into Go value of type types.ContainerJSON
json: cannot unmarshal array into Go value of type types.ContainerJSON
       provision.sh,  (stopped)
       sendy, mariadb:10.0.21 (running)

I have 1 mariadb container running:

alfred@vps206308:~$ sudo docker ps
CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS              PORTS               NAMES
4ab5b615900b        dokku/sendy:latest         "/start web"             43 hours ago        Up 43 hours                             grave_mccarthy
d2acd3a277de        mariadb:10.0.21            "/docker-entrypoint.s"   44 hours ago        Up 44 hours         3306/tcp            dokku.mariadb.sendy
17f09423309b        dokku/placeholder:latest   "/start web"             2 days ago          Up 2 days                               evil_bartik

latest version of dokku (0.4.1) and latest version of the plugin too.

EDIT: I just noticed that bootstrap.sh, provision.sh and cron.sh are files in the current directory.

alfred@vps206308:~$ ls -l
total 12
-rw-r--r-- 1 root   root   3094 Sep 30 23:40 bootstrap.sh
-rwxr-xr-x 1 alfred alfred  353 Oct  1 17:16 cron.sh
-rwxr-xr-x 1 alfred alfred 1737 Sep 30 23:40 provision.sh

Restore from filesys backup

When you have big sql file backups it takes like forever to restore them, restoring the MySQL/MariaDB file system is much faster. Probably the password needs to be set again, but just archiving the /var/lib/mysql directory is way faster than restoring a sql file.

Kills itself when not enough memory?

Looks like Dokku might kill the DB when there is not enough RAM to run all the containers (?). I have one mariadb container and one container with my app on 1GB Dokku DigitalOcean machine.

That's the log output I'm getting:

2016-04-20 15:08:41 140161145636800 [Note] mysqld (mysqld 10.1.10-MariaDB-1~jessie) starting as process 1 ...
2016-04-20 15:08:41 140161145636800 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2016-04-20 15:08:41 140161145636800 [Note] InnoDB: The InnoDB memory heap is disabled
2016-04-20 15:08:41 140161145636800 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-04-20 15:08:41 140161145636800 [Note] InnoDB: Memory barrier is not used
2016-04-20 15:08:41 140161145636800 [Note] InnoDB: Compressed tables use zlib 1.2.8
2016-04-20 15:08:41 140161145636800 [Note] InnoDB: Using Linux native AIO
2016-04-20 15:08:41 140161145636800 [Note] InnoDB: Using SSE crc32 instructions
2016-04-20 15:08:41 140161145636800 [Note] InnoDB: Initializing buffer pool, size = 256.0M
InnoDB: mmap(276824064 bytes) failed; errno 12
2016-04-20 15:08:41 140161145636800 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2016-04-20 15:08:41 140161145636800 [ERROR] Plugin 'InnoDB' init function returned error.
2016-04-20 15:08:41 140161145636800 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2016-04-20 15:08:41 140161145636800 [Note] Plugin 'FEEDBACK' is disabled.
2016-04-20 15:08:41 140161145636800 [ERROR] Unknown/unsupported storage engine: InnoDB
2016-04-20 15:08:41 140161145636800 [ERROR] Aborting

The question is:
How to prevent the behaviour? Shouldn't be some fallback in that case?

Error while trying to setup backup - Container is restarting

Hi,

I am just getting started with Dokku and MariaDb, and I tried to take a backup, but got the error:

Error response from daemon: Container ac223eb28ab6936df0b073772efbf34a281da0c2eXXXXXXXXXXXXXXXXX is restarting, wait until the container is running

Also, the error messages is messing up the console:

root@dokku:~# dokku mariadb:backup appmakers appmakers2
Error response from daemon: Container ac223eb28ab6936df0b073772efbf34a281da0c2eXXXXXXXXXXXXXXXXX is restarting, wait until the container is running
                                                                                                                                                        root@dokku:~# dokku mariadb:backup appmakers appmakers2
                                                                                                                                                                                                                Error response from daemon: Container ac223eb28ab6936df0b073772efbf34a281da0c2eXXXXXXXXXXXXXXXXX is restarting, wait until the container is running
                                                                                                                                                    root@dokku:~# dokku mariadb:backup appmakers appmakers2
                                                                                                                                                                                                            Error response from daemon: Container ac223eb28ab6936df0b073772efbf34a281da0c2eXXXXXXXXXXXXXXXXX is restarting, wait until the container is running
                                                                                                                                                root@dokku:~#

Any help would be gratly appreciated :)

ERROR: unable to connect

Every time I want to create a database I get an error.

Command:

$ dokku mariadb:create example-database

stdout:

Waiting for container to be ready

stderr:

ERROR: unable to connect

exit-code:

1

Systeminfo

dokku version 0.19.8

plugn: 0.3.2
  00_dokku-standard    0.19.8 enabled    dokku core standard plugin
  20_events            0.19.8 enabled    dokku core events logging plugin
  app-json             0.19.8 enabled    dokku core app-json plugin
  apps                 0.19.8 enabled    dokku core apps plugin
  builder-dockerfile   0.19.8 enabled    dokku core builder-dockerfile plugin
  builder-herokuish    0.19.8 enabled    dokku core builder-herokuish plugin
  buildpacks           0.19.8 enabled    dokku core buildpacks plugin
  certs                0.19.8 enabled    dokku core certificate management plugin
  checks               0.19.8 enabled    dokku core checks plugin
  common               0.19.8 enabled    dokku core common plugin
  config               0.19.8 enabled    dokku core config plugin
  docker-options       0.19.8 enabled    dokku core docker-options plugin
  domains              0.19.8 enabled    dokku core domains plugin
  enter                0.19.8 enabled    dokku core enter plugin
  git                  0.19.8 enabled    dokku core git plugin
  letsencrypt          0.9.1 enabled    Automated installation of let's encrypt TLS certificates
  logs                 0.19.8 enabled    dokku core logs plugin
  mariadb              1.9.1 enabled    dokku mariadb service plugin
  network              0.19.8 enabled    dokku core network plugin
  nginx-vhosts         0.19.8 enabled    dokku core nginx-vhosts plugin
  plugin               0.19.8 enabled    dokku core plugin plugin
  proxy                0.19.8 enabled    dokku core proxy plugin
  ps                   0.19.8 enabled    dokku core ps plugin
  repo                 0.19.8 enabled    dokku core repo plugin
  resource             0.19.8 enabled    dokku core resource plugin
  scheduler-docker-local 0.19.8 enabled    dokku core scheduler-docker-local plugin
  shell                0.19.8 enabled    dokku core shell plugin
  ssh-keys             0.19.8 enabled    dokku core ssh-keys plugin
  storage              0.19.8 enabled    dokku core storage plugin
  tags                 0.19.8 enabled    dokku core tags plugin
  tar                  0.19.8 enabled    dokku core tar plugin
  trace                0.19.8 enabled    dokku core trace plugin

Container log

Initializing database


PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:

'/usr/bin/mysqladmin' -u root password 'new-password'
'/usr/bin/mysqladmin' -u root -h 0dd5bef4825c password 'new-password'

Alternatively you can run:
'/usr/bin/mysql_secure_installation'

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the MariaDB Knowledgebase at http://mariadb.com/kb or the
MySQL manual for more instructions.

Please report any problems at http://mariadb.org/jira

The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/

Database initialized
MySQL init process in progress...
2019-11-14 12:00:51 0 [Note] mysqld (mysqld 10.4.6-MariaDB-1:10.4.6+maria~bionic) starting as process 104 ...
2019-11-14 12:00:51 0 [Note] InnoDB: Using Linux native AIO
2019-11-14 12:00:51 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2019-11-14 12:00:51 0 [Note] InnoDB: Uses event mutexes
2019-11-14 12:00:51 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2019-11-14 12:00:51 0 [Note] InnoDB: Number of pools: 1
2019-11-14 12:00:51 0 [Note] InnoDB: Using SSE2 crc32 instructions
2019-11-14 12:00:51 0 [Note] mysqld: O_TMPFILE is not supported on /tmp (disabling future attempts)
2019-11-14 12:00:51 0 [Note] InnoDB: Initializing buffer pool, total size = 256M, instances = 1, chunk size = 128M
2019-11-14 12:00:51 0 [Note] InnoDB: Completed initialization of buffer pool
2019-11-14 12:00:51 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2019-11-14 12:00:51 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2019-11-14 12:00:51 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2019-11-14 12:00:51 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2019-11-14 12:00:51 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2019-11-14 12:00:51 0 [Note] InnoDB: 10.4.6 started; log sequence number 140108; transaction id 21
2019-11-14 12:00:51 0 [Note] Plugin 'FEEDBACK' is disabled.
2019-11-14 12:00:51 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2019-11-14 12:00:51 0 [Note] InnoDB: Buffer pool(s) load completed at 191114 12:00:51
2019-11-14 12:00:51 0 [Note] Reading of all Master_info entries succeeded
2019-11-14 12:00:51 0 [Note] Added new Master_info '' to hash table
2019-11-14 12:00:51 0 [Note] mysqld: ready for connections.
Version: '10.4.6-MariaDB-1:10.4.6+maria~bionic'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  mariadb.org binary distribution
Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.

2019-11-14 12:02:36 0 [Note] mysqld (initiated by: unknown): Normal shutdown
2019-11-14 12:02:36 0 [Note] Event Scheduler: Purging the queue. 0 events
2019-11-14 12:02:36 0 [Note] InnoDB: FTS optimize thread exiting.
2019-11-14 12:02:36 0 [Note] InnoDB: Starting shutdown...
2019-11-14 12:02:36 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
2019-11-14 12:02:36 0 [Note] InnoDB: Buffer pool(s) dump completed at 191114 12:02:36
2019-11-14 12:02:37 0 [Note] InnoDB: Shutdown completed; log sequence number 140117; transaction id 24
2019-11-14 12:02:37 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2019-11-14 12:02:37 0 [Note] mysqld: Shutdown complete


MySQL init process done. Ready for start up.

2019-11-14 12:02:37 0 [Note] mysqld (mysqld 10.4.6-MariaDB-1:10.4.6+maria~bionic) starting as process 1 ...
2019-11-14 12:02:37 0 [Note] InnoDB: Using Linux native AIO
2019-11-14 12:02:37 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2019-11-14 12:02:37 0 [Note] InnoDB: Uses event mutexes
2019-11-14 12:02:37 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2019-11-14 12:02:37 0 [Note] InnoDB: Number of pools: 1
2019-11-14 12:02:37 0 [Note] InnoDB: Using SSE2 crc32 instructions
2019-11-14 12:02:37 0 [Note] mysqld: O_TMPFILE is not supported on /tmp (disabling future attempts)
2019-11-14 12:02:37 0 [Note] InnoDB: Initializing buffer pool, total size = 256M, instances = 1, chunk size = 128M
2019-11-14 12:02:37 0 [Note] InnoDB: Completed initialization of buffer pool
2019-11-14 12:02:37 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2019-11-14 12:02:37 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2019-11-14 12:02:37 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2019-11-14 12:02:37 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2019-11-14 12:02:37 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2019-11-14 12:02:37 0 [Note] InnoDB: 10.4.6 started; log sequence number 140117; transaction id 21
2019-11-14 12:02:37 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2019-11-14 12:02:37 0 [Note] Plugin 'FEEDBACK' is disabled.
2019-11-14 12:02:37 0 [Note] Server socket created on IP: '::'.
2019-11-14 12:02:37 0 [Note] InnoDB: Buffer pool(s) load completed at 191114 12:02:37
2019-11-14 12:02:37 0 [Note] Reading of all Master_info entries succeeded
2019-11-14 12:02:37 0 [Note] Added new Master_info '' to hash table
2019-11-14 12:02:37 0 [Note] mysqld: ready for connections.
Version: '10.4.6-MariaDB-1:10.4.6+maria~bionic'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution

Diagnosing database status

What I am trying to do

Set up a vanilla Wordpress 4.5 blog with MariaDB

What is not working

Error establishing a database connection

It was working a few days ago, before the PHP buildpack v95 fiasco, could this be connected?

I have an unchanged Wordpress 4.5 fork that I deploy as blog

I create a dokku app, a database and link them:

$ dokku apps:create blog
$ dokku mariadb:create blog
$ dokku mariadb:link blog blog

#=> DATABASE_URL: mysql://mariadb:31fd7198d2f22978@dokku-mariadb-blog:3306/blog

I navigate to http://blog.my.domain.com to begin the Wordpress setup process, all is well. I proceed to database detail entering:

Database Name = blog
Username = mariadb
Password = 31fd7198d2f22978
Database Host = dokku-mariadb-blog:3306
Table Prefix = _wp

I click to submit these settings and Wordpress informs me that it was unable to connect to the database.

What I have tried:

Connecting to the db, no luck, access denied

$ dokku mariadb:connect blog
#=> ERROR 1045 (28000): Access denied for user 'mariadb'@'localhost' (using password: YES)

Reading the DB logs, there are some errors, but nothing stands out for me

dokku mariadb:logs blog

output gist

Restarting, stop+starting the DB

No luck.

Unlinking, destroying, rebuilding the db

Nope, new DATABASE_URL does not work either.

What is needed

A reliable way to tell if the database is absolutely definitely running or down.
I have no idea what is going wrong, it worked a few days ago. Perhaps I need to upgrade database adapter and/or plugin version?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.