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!
I'm a big fan too, not only is it a nice mysql interface it's a really nice example of generally well designed software. Lot's of lovely little touches in the way it remembers the state of various views as you're working with it make it really hassle free.
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.
Amazing indeed, too bad it doesn't have Windows and Linux versions too, since I often change environments so I always need my laptop next to me. I tried many MySQL GUIs but not a single one was awesome like SequelPro :(
Is there a Windows SQL GUI even remotely as nice/efficient as Sequel Pro? I love using it on the Mac, but whenever I switch to windows, I use one of the kludgy apps like MySQL Workbench, which requires a ton of clicking, right clicking, and double-clicking to do anything.
Well I'm biased since it's our product but I think JackDB[1] is both nice and efficient. It runs entirely in your browser so it's naturally cross platform.
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.
I still use it daily on my PHP projects, out of choice and out of other peoples'/hosting companies' choices.
I dislike what happened to the UX, though; definitely a case of "if it ain't broke, don't fk with it". Still a great tool though. I'm always lost on postgre projects...
I found both phpPgAdmin and PgAdmin III superior to phpMyAdmin in many aspects. And there's always DBeaver to handle any relational database you can probably imagine.
Although I must say I've yet to see an SQL client that comes close to HeidiSQL (Windows only, MySQL+MSSQL only). (Edit: "MySQL only" was wrong.)
It's still pretty unstable, unfortunately and there are some weird issues: if the connection drops, you won't be able to retrieve your queries before reconnecting because of the reconnect dialog. And that's if you don't press on disconect and lose all the queries, because the tab will be closed. I'm currently trying to switch to MySql Workbench.
Note that HeidiSQL is not MySQL only, it also does MSSQL. I've yet to find a client as nice as HeidiSQL for my main db environment, Oracle. SQL Developer works, and has some great tools, but the UX is counter-intuitive and very slow.
It's easy to dump on PMA, but what it was built for, it did (and mostly, does) excellently.
When I used PMA for the first time I was a very young programmer, and it really amazed me that such a tool could exist. Oddly enough, this was a really inspirational piece of software for me.
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).
SSH tunneling from your desktop to your MySQL host and connecting you admin client through that should alleviate the concerns around exposing 3306 to the world.
For simpler tasks, I find adminer works very well: http://www.adminer.org/ Installation is as easy as uploading a single file. One advantage of that is you can mitigate any security risk by simply adding "die;" to the top of the file when you don't need it.
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.
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).
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.
Um. No. Bouncing traffic through one device out of probably many at your house (when's the last time you updated the firmware on your TV? Your router?) is a lot more feasible than breaking public key encryption.
I've been working on a PhpMyAdmin-like tool recently called 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) :-)
Most large-ish Scheme systems have a module system. You're a bit limited if you stick with straight R5RS, but even then every serious compiler/interpreter has additional features. Not unlike Python, Perl, Ruby, PHP, etc. There is also R6RS and R7RS now, which have additional features now.
I use Racket which comes with a ton of features that let me build larger systems. Other more pure Scheme systems like Guile also have the capabilities to build modules/libraries, etc... and there is a decent amount of code out there to do stuff. You do have less of a choice for certain things than languages like Perl or Python, but most modern Schemes or Scheme-like languages are pretty good.
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.
I'm planning to get one sorted soon, just very busy at the moment and don't have much time to dedicate to the project. I've got the domain getschema.com and will put something on there when I get the chance.
I've added "a" between "in" and "single", it started sounding weird to me some time ago as well. Thanks for the suggestion. Can you please propose a correct wording for the second sentence?
adminer rocks. Drop 1 file and you can manage your DB. Especially useful when you quickly want to look at a client's site's DB before getting your hands dirty.
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.
>if you know already about SQL then it is really easy to use.
If you already know SQL then its much faster to type a line into the CLI than click the mouse 50000 times in a web gui. However, I do use it so when I'm on call I can walk someone thru a simple password reset, or something of similar level, over the phone rather than spend 45 minutes find and plug in the laptop, VPN in, do 15 seconds of work, then shut down everything and put it away until next time. Someone completely incapable of finding the semicolon key on a keyboard can usually none the less be successfully talked thru clicking the mouse 5000 times on a web page.
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.
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.
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.
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.
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)
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.
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.
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.
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.
>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.
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.
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.
Sometimes I want to run one-off queries from an administration interface. Output from the MySQL CLI is unreadable if the columns extend beyond the width of the terminal. Horizontal scrolling alone makes this an unacceptable replacement for phpMyAdmin.
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.
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).
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.
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!
113 comments
[ 3.0 ms ] story [ 191 ms ] threadThen I discovered the option to enable the old theme again. A great tool!
Edit: 'to' => 'too'
[1]: http://www.jackdb.com/
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.
I dislike what happened to the UX, though; definitely a case of "if it ain't broke, don't fk with it". Still a great tool though. I'm always lost on postgre projects...
Although I must say I've yet to see an SQL client that comes close to HeidiSQL (Windows only, MySQL+MSSQL only). (Edit: "MySQL only" was wrong.)
When I used PMA for the first time I was a very young programmer, and it really amazed me that such a tool could exist. Oddly enough, this was a really inspirational piece of software for me.
(Restricting mysql access to localhost and using an SSH tunnel is fine practice, AFAIK.)
Also, sequel (rubygem) comes with an awesome console to write SQL queries in.
Most large-ish Scheme systems have a module system. You're a bit limited if you stick with straight R5RS, but even then every serious compiler/interpreter has additional features. Not unlike Python, Perl, Ruby, PHP, etc. There is also R6RS and R7RS now, which have additional features now.
[1] http://www.teampostgresql.com
[2] Demo: http://teampostgresql.herokuapp.com/ (runs on a free Heroku account so a bit slow, and demo users sometimes mess up the db)
It works great for MySQL, SQLite and can be used for some basic PostgreSQL work too.
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"
But then it doesn't have as much impact emphasising the simplicity of it.
The "single file" feature makes installation and updating easy, but the features and usability improvements over phpMyAdmin seal the deal.
It basically fixes every annoyance of phpMyAdmin. Zero config, saved logins, no iframes, consistent and predictable UI. Love this program.
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.
If you already know SQL then its much faster to type a line into the CLI than click the mouse 50000 times in a web gui. However, I do use it so when I'm on call I can walk someone thru a simple password reset, or something of similar level, over the phone rather than spend 45 minutes find and plug in the laptop, VPN in, do 15 seconds of work, then shut down everything and put it away until next time. Someone completely incapable of finding the semicolon key on a keyboard can usually none the less be successfully talked thru clicking the mouse 5000 times on a web page.
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)
Besides MySQL, we also support PostgreSQL (what we use in house), Oracle and MS SQL Server.
[1]: http://www.jackdb.com/
[1] http://www.chive-project.com/
http://www.mysql.com/products/workbench/
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.
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.
I'm sure it's come a long way (at least I hope it has).