
PhpMyAdmin Turns 15 - jentulman
http://www.phpmyadmin.net/home_page/15-years.php
======
Argorak
If there is any project I'd be tempted to be snarky about, it's PhpMyAdmin
(although last time I used it, it was 2006). From an administration
perspective, it was often a hassle, especially in its beginnings. It is a very
successful tool and for a while had the same reputation as wordpress: being a
pretty remote shell.

But what PhpMyAdmin illustrates very well is how important tools can be to
environments/communities. For a while, the presence of PhpMyAdmin was what
gave PHP an edge over many other environments: here's a tool that gives you
(and tech-savvy people in your company) insight into your database, allows you
to do changes and some bit of backup visually instead of fighting with the
command line. And, if you develop on PHP, you don't even have to install
anything additional on your platform. It made running PHP hosting without
shell access feasable.

~~~
superuser2
What _do_ you use for MySQL development then? I usually find handwriting SQL
queries to be obnoxiously verbose and I don't like the security implications
of letting mysql listen on non-localhost interfaces (i.e. for an OSX
administration tool).

~~~
snowwrestler
The most secure setup for administrative services is to whitelist their ports
by IP address. For example port 22 (SSH) on our servers can only be hit by
known-good IP addresses. You can do the same for MySQL's port, or use an SSH
tunnel to hit MySQL through localhost.

~~~
gonnakillme
Restricting SSH to "known-good" IP addresses is less flexible and less secure
than public key authentication.

(Restricting mysql access to localhost and using an SSH tunnel is fine
practice, AFAIK.)

~~~
snowwrestler
It is less flexible, but it is more secure than using public key
authentication by itself (public key auth can be used in conjunction with an
IP whitelist).

~~~
gonnakillme
I'm not sure an IP whitelist gives you anything -- it provides a handy
mechanism for escalating privileges, both for intrusions on a machine at the
"known-good" IP and for unintended network access in general.

------
jscheel
I too can hate on phpmyadmin and suggest superior alternatives. However, just
let it sink in for one second how incredibly successful this tool has been,
regardless of its detriments. Most of us would kill for this kind of household
name recognition. It was at the right place at the right time, for sure, but I
think there's probably something we can still learn from them.

~~~
mithras
Do tell about the superior alternative, I still have to use phpmyadmin
sometimes.

~~~
yogo
The mysql command line client is a superior alternative IMO. Like most things
on the command line you are able to more much faster instead of having to deal
navigate the GUI. Don't get me wrong phpMyAdmin is definitely easier to use
for the average user and if you are just so blessed with having to work on a
project that's on shared hosting it might be your only option, but even then
I'm usually on the SQL tab.

~~~
coldtea
> _The mysql command line client is a superior alternative IMO._

He asked for a real superior alternative. In the same vain. Not something
completely different.

> _Like most things on the command line you are able to more much faster
> instead of having to deal navigate the GUI._

Not really. Between limitations of the readline lib and terminals, it's a
pretty shitty experience. There's a limited stuff you can do faster in the
command line.

~~~
vectorpush
Eh, depends on the type of work you're doing and your command line skills. For
maintenance work and administrative tasks, a GUI tool really shines, but
during development the cli runs circles around every GUI tool available (for
an experienced terminal user).

edit: Also, GUI tools are very useful when you want to familiarize yourself
with a large or complex database you haven't previously worked on.

~~~
sudomal
One of the main advantages of phpMyAdmin is the ability to work on the
database without the need of a command line. Not all website maintainers have
access to that level of control.

------
kaolinite
I've been working on a PhpMyAdmin-like tool recently called Schema
([http://github.com/timdavies/schema](http://github.com/timdavies/schema)).
It's a single-page app (Node.JS/Backbone) and I've had quite a bit of positive
feedback from people testing it - much faster than PhpMyAdmin, nicer UI, etc.
There's a lot left to do on it (missing critical features at the moment such
as inserting rows..) however I'm unable to work on it for roughly a month as
I've taken a new job and need to learn some new stuff for it. If anyone wants
to help out, you'd be more than welcome (will give commit access after a few
pull requests) :-)

~~~
johnyzee
We developed a similar thing, but for PostgreSQL [1][2]. Also a single page
JavaScript app with a good UI and fairly full-featured.

[1] [http://www.teampostgresql.com](http://www.teampostgresql.com)

[2] Demo:
[http://teampostgresql.herokuapp.com/](http://teampostgresql.herokuapp.com/)
(runs on a free Heroku account so a bit slow, and demo users sometimes mess up
the db)

~~~
vamega
Looks quite nice. What is it built with? I also couldn't find any mention of a
license on the site.

~~~
johnyzee
It is built with GWT. It does not have a standard FOSS license since it is not
(yet) open source. The license is included with the download, it still fairly
standard, the product is free no strings attached.

------
mordae
I prefer the extremely lightweight Adminer:
[http://www.adminer.org/en/](http://www.adminer.org/en/)

It works great for MySQL, SQLite and can be used for some basic PostgreSQL
work too.

~~~
no_gravity
The headline says "Database management in single PHP file".

Is this correct english? Im not a native english speaker. To me it sounds like
it should read "in a single PHP file".

Same with "Replace phpMyAdmin by Adminer and you will get tidier user
interface"

~~~
martin-adams
I'd say the word 'single' is redundant as it a PHP file. How about "Database
management in a PHP file"?

But then it doesn't have as much impact emphasising the simplicity of it.

~~~
andrewflnr
It is odd. "a file" almost feels less specific than "a single file", even
though the latter is technically redundant.

------
ohwp
I don't use PhpMyAdmin a lot, only when there is no other option available (I
prefer SQLyog). But lately I got very frustrated by the interface changes.

Then I discovered the option to enable the old theme again. A great tool!

~~~
Adirael
I use SequelPro (OS X, Free). It's fast and lightweight, it can tunnel through
SSH.

~~~
eddieroger
Tunneling is my favorite feature. Being able to keep both unnecessary services
from running (phpMyAdmin) and disabling SSH passwords make me a happy solo
sysadmin. Not that I wouldn't run phpMyAdmin if I had to, but since it's just
me and people I administer on my boxes, I can use the tools I want, and keep
active code to a minimum.

------
ck2
I'd appreciate it more if they'd just stop doing

    
    
         SELECT COUNT(*) 
    

on innodb tables (which do not handle that query well with many rows). Yes
there is a workaround but it is flawed.

~~~
Kiro
What should you use on InnoDB tables instead?

~~~
bcoates
Get a quick estimate out of SHOW TABLE STATUS

------
kyriakos
I think phpMyAdmin v4 is a backward move. They got rid of frames in favor of a
more ajaxified UI but it is running many times slower than the <3.5 versions.
I understand using Frames is supposed to be bad but in this case they offered
a better user experience.

~~~
ceejayoz
Not only is it slower, but it breaks down massively for those of us with good
numbers of databases and tables. It feels like it was developed and tested
with someone's single database, three table blog engine.

------
tehwebguy
phpMyAdmin gets dumped on a lot but it was a big help for me when I was just
learning to write my own queries. The way it shows you the query that powers
each action you run is a great learning tool.

------
kpommerenke
I use it a lot for local development, but wouldn't install it on a production
server for security reasons. However, if you run commands in phpMyAdmin, it
actually gives you the SQL code for your desired action, which you can then
copy and paste to the command line on your production server.

------
lilpirate
The new AJAXified interface is slower and more inconsistent. The inline edit
feature never works and has a very subtle feedback. But hey, it's ubiquitous
and it gets the job done. However, I've started using SequelPro on OS X as a
replacement which works pretty great.

------
mstrem
It may be just me, but I personally would not mention the lines of code as a
success story metric.

I feel like lots of line of code usually means bloat.

That aside, I often use phpMyAdmin and it is a great tool for those quick
little edits! And if you know already about SQL then it is really easy to use.

~~~
mataug
I wouldn't necessarily dismiss lots of lines of code as bloat, but In this
case you are probably right.

~~~
ihsw
Indeed, it's like measuring the quality of a plane by its weight, but it's not
hard to gauge "too much" weight.

------
ryen
I don't use PhpMyAdmin but my servers get hit regularly from vulnerability-
bots looking for holes in phpmyadmin/*.php pages.

Are there a lot of known security issues outstanding?

~~~
MichaelGG
I don't know, but anything PHP usually does. Even if it didn't, it'd still be
a good target as a lot of people are gonna put on some weak password as they
don't realise how publicly visible it is.

------
Diamons
PhpMyAdmin has been great. It's really one of the only reasons I was able to
learn PHP + MySQL in high school. It's quick, simple, and convenient on
Windows.

------
brokenparser
MySQL Workbench trumps the other tools for managing MySQL, but for quick web
access I prefer Adminer. It's easier to set up, appears less cluttered and
fast.

------
sehrope
This is one of the (many) apps we looked at when we started working on
JackDB[1]. It's a database client in your browser. Rather than just a table
interface though, JackDB is a full featured query editor and even includes
scrolling result sets.

Besides MySQL, we also support PostgreSQL (what we use in house), Oracle and
MS SQL Server.

[1]: [http://www.jackdb.com/](http://www.jackdb.com/)

------
aram
For Yii fans, there is a similar project called Chive [1].

[1] [http://www.chive-project.com/](http://www.chive-project.com/)

~~~
debacle
Chive is excellent software, Yii fan or not. It has bugs, but the few bugs I
encounter with it are worth the pain to not have to fuss with phpMyAdmin.

------
homersapien
PhpMyAdmin has turned into an utter mess. I use - and most definitely rely on
it - daily. But every version since 2.X has been a step back. The AJAX in the
latest version is disastrous. Everything about it is slower than the older
frame versions. Worse yet, even simple tasks such as renaming a table or
column will cause it to go non-responsive.

------
marveller
[http://mywebsql.net/](http://mywebsql.net/) ia an interesting alternative.

------
wehadfun
I remember when you were only maybe 5 or 6 years old. I was maybe 21 and I
used you to get a MySQL database in shape so that I could create a submission
tool for programming contest. One of my first web apps! Congrats PHPMyAdmin on
turning 15!

------
bstar77
I get quite a bit of phpMyAdmin nostalgia when I'm going through my server
logs.

~~~
sehrope
Yeah I think we all do. In fact not too long after posting a link to our app
in this thread I got another one:

    
    
        Sep  9 12:58:29 [41.66.xxx.xxx] GET /phpMyAdmin/translators.html [1 ms]

------
noeleon
Wow.... 15 years! Working at a hosting provider way back when I would die a
little inside every time someone asked me to install phpmyadmin for their
databases.

I'm sure it's come a long way (at least I hope it has).

------
ing33k
if any one is looking for lightweight alternatives, checkout SQL Buddy
([http://sqlbuddy.com/](http://sqlbuddy.com/)) .

------
ibstudios
PhpMyAdmin has saved my butt many times with a bad joomla install or when I
need to output sql. I mostly use navicat these days when I need to touch
mysql.

------
louwrentius
When I was a security auditor, finding a PHPMyAdmin instance would make my
day. Somehow, the customer would not share in my joy. How peculiar.

~~~
meowface
To be fair, nowadays phpmyadmin is mostly only good for escalating privileges,
not obtaining them in the first place. I don't think they've had a serious
pre-auth flaw in a while.

~~~
louwrentius
In most cases it wasn't even PHPMyAdmin's fault per se, but the people not
taking 5 minutes to harden it or upgrade it. In many cases, no offence to the
makers of this tool, finding a phpmyadmin instance (especially not up-to-date)
was a tell tale sign of trouble ahead. Phpmyadmin has caused trouble for
people you can't even begin to imagine (ok you probably can). Oh the memories.

------
BaconJuice
Is anything similar to PhpMyAdmin that's made for MongoDB? Been looking for
something decent with no luck =/

------
dcc1
Navicat is infinitely more useful for mysql database administration,
especially with the option to login via ssh

~~~
pestaa
Why would you need SSH login option in phpMyAdmin? It was designed for single-
server setups where the interpreter sits next to the database.

~~~
yogo
You don't need it for phpMyAdmin. The comment was mentioning the ssh tunnel
feature as an advantage in desktop clients like navicat, which allows you to
access the database while still running it on localhost.

~~~
dcc1
Yes you connect from your desktop to the server with Navicat

Also means you are more secure since PHPMYADMIN has a history of
vulnerabilities and less to run on the server, so your database server can run
mysql and nothing else (well maybe stunnel for encrypted connection to your
app servers)

------
tn13
phpmyadmin is not the best mysql frontend one can have but it is simple to
install, easy to use and makes many things incredibly simple.

For example for my mobile backends, I use only phpmyadmin to populate the data
and use rails scaffolds to provide json outout to the mobile clients.

------
tuantruong
I used to use it a lot, but now that I got on to navicat, I never gone back to
it anymore.

------
navneetpandey
lifesaver!!

------
adkatrit
kill it with fire

