I was looking for some nice freeware visual mysql database designer couple of weeks ago. I found two of them: DBDesigner 4 and MySQL Workbench. I must say, that both programs are really very similar, I mean from the view of the UI and menus structure. I gave a little user testing to both of them and designing database using these tools is very easy and fast…
I figured out that it is more comfortable design databases this way. You can see on the one screen all the tables structure inside database and all of its connections among them. This way is a database designer able to figure out best foreign keys connections among the tables and optimise database much better way. Main difference between these two applications is that MySQL Workbench supports only MySQL databases, otherwise DBDesigner 4 suppports following: MySQL, SQLite, Oracle, MSSQL and ODBC.
DBDesigner seems to work more smoother and faster (I mean from the view of the perfomance of the computer) but this is probably only one difference I found between these programs. I decided to stay with DBDesigner 4 mainly because of its wider support for the different databases. Give it a try and choose Yours:
DB DESIGNER 4 – localhost connection problem
I found a little problem with the DBDesigner 4 and it is its connection to the localhost server and probably any other. You will get and error, that You have wrong username aor password in the connection settings. Here is the guide how to fix the problem:
- Create a new MySQL user for Your mysql database
- Add global privilleges to this user
- Run following query:
SELECT * FROM mysql.`user`
- One of the result lines should be something like this:
'localhost', 'dbd4', '*DBC24926E0821352A2CE9593D8909FBFFE85CA74', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', '', '', '', '', 0, 0, 0, 0
…in case, that You will add a username db4 and password db4 too.
- Now run another query:
UPDATE mysql.user SET Password = OLD_PASSWORD('dbd4') WHERE Host = 'localhost' AND User = 'dbd4';
- Now should connection to the localhost work from the DBDesigner 4
- If not, please make sure, that Your MySQL server is running on port 3306, otherwise DBDesigner 4 will not be able to connect to Your database!