|
Paul Makepeace > Hosting > Database Access blog - about - news - contact |
Both MySQL and PostgreSQL are provided here.
In order to use them please provide:
For immeasurably more convenience in most cases, I've set up web interfaces to both using the excellent phpMyAdmin and phpPgAdmin front-ends.
Database access is a serious business. There is no external access to
the database whatsoever: In order that all database authentication and
subsequent web traffic is fully encrypted, and even access to the
database is restricted the front-ends are active on the localhost
interface only. What this means is that in order to access them
from afar you'll need to create an SSH tunnel into mythix
.
Something like, (8080
is any local port you like) ssh -N -L 8080:127.0.0.1:80
username@mythix.realprogrammers.com
(which will simply
sit there til you ^C
. -f
will background it, removal of -N
will provide a shell too. Read more on SSH tunnelling.) At that point you will be able to use http://localhost:8080/phppgadmin/index.php and http://localhost:8080/mysqladmin/index.php.
PostgreSQL is quite different from MySQL and indeed the two web interfaces
can reflect this. Do not be alarmed. The command line interfaces (i.e.
mysql
and psql
) are scarily different.
Further, PostgreSQL is more database-centric whereas MySQL is more
user-centric. For PG I recommend fully reading Bruce
Momjian's PostgreSQL: Introduction and Concepts. I found it a quick
read online.
For reasons a bit technical to go into here, in order to use PostgreSQL
here you must explicitly connect to localhost, not just rely on the
machine being local (i.e. through sockets). For example in Perl, your
DSN might look like
dbi:Pg:dbname=db_name;host=127.0.0.1
.
If you're using the command line interface you must do this as well
unless your shell username is the same as the database you're connecting
to (not the username of the owner of any database you're
connecting.) A typical command line might look like psql -h
localhost -U db_username
db_name
Enjoy!