MySQL usage
You can use the remote shell host to interact with your application databases. Please note that MySQL does not run locally but on dedicated infrastructure. From the shell host, you can log in, dump database content into a file and restore a database from a dump file. You can find the user credentials and database hostname in the configuration snippets freistilbox provides for each individual application (directory ~/site/current/config/
).
In the following examples, we use placeholders for the username, hostname and database name. Note that we use always the parameter -p
without an argument for security reasons. That way, you will be prompted for the password interactively instead of the password getting exposed publicly in the system process list.
Open the database CLI
mysql -u <username> -p -h <hostname> DB-ID
Dump a database to a file
mysqldump -u <username> -p -h <hostname> DB-ID --single-transaction > file.sql
Restore a database from a file
mysql -u <username> -p -h <hostname> DB-ID < file.sql
Using drush to dump and copy your database
You can also use drush to dump and copy the database, you don’t need to look out for the credentials then as drush does this automatically for you.
The following commands are to be run from the sites users home directory.
Dump your database
This will dump the database to the current directory. If you leave the $(pwd) out, the command will fail because drush uses current/docroot as current directory and you don’t have write permission there.
drush -r current/docroot sql-dump --result-file=$(pwd)/file.sql
Restore your database from a file
gunzip < file.sql.gz | drush -r current/docroot sql-cli
or, if the file is not zipped:
cat file.sql | drush -r current/docroot sql-cli
Copy a database from one site to another
There is currently no automated mechanism to do this but you can simply dump the contents of the source database and restore them to the target database, as explained above.
Access via PhpMyAdmin
If you’d like to access your database from your web browser, freistilbox offers a PhpMyAdmin user interface on pma.freistilbox.net.
Access from your local workstation
In order to access your database from an application running on your workstation, you’ll have to set up an SSH tunnel to the database via your freistilbox cluster’s remote shell host:
ssh -L 3307:db12.freistilbox.net:3306 \
s1234@c42s.freistilbox.net
where
3307
is the local port,db12.freistilbox.net
is the hostname of the database cluster,3306
is the default MySQL listening port,s1234
is your website user account, andc42s.freistilbox.net
is the hostname of the remote shell host.
With the encrypted tunnel established in this way, you’ll be able to reach your database securely on localhost
, port 3307.
With advanced database management applications such as Sequel Pro and MySQL Workbench, you don’t have to set up the tunnel manually. Since they have this functionality built in already, simply provide them with the required details.