You may need to check out the configuration of InnoDB.
You can start by running
SHOW VARIABLES LIKE 'have_innodb';
SHOW ENGINES;
These will indicate whether or not InnoDB is running properly.
If InnoDB is disabled, it is more than likely that the log files need to be recreated.
As long as you keep ibdata, delete ib_logfile0, delete ib_logfile1, and set innodb_log_file_size to 170M in my.ini, you should be able to start mysql and have mysql rebuild new ib_logfile0 and ib_logfile0 to 170M each as suggested by the article you mentioned in the chat room.
I feel terrible for forgetting about this question!!!
I have located and fixed the problem as follows.
When the DNS names were added to DNS, the corresponding reverse lookup was not created.
This resulted in MySQL not being able to perform the reverse lookup from the IP address to the correct DNS name, and therefore rejecting the connection.
So, we added a set of reverse lookups from IP address to DNS names, ran FLUSH HOSTS;
on all of the MySQL boxes, and everything started working.
We require the use of DNS names for all connections, due to our disaster recovery solution being in a separate data centre, and a virtually identical VM farm, but with the IP addresses of all the machines modified only slightly. If / When we have a complete fail-over to the other data centre, all the software and communications will just "work", as the DNS resolution will always give the correct address based on the data centre.
You just need to be careful not to have TWO (or more) names reverse looking up from the same IP address, as there is no guarantee which of the two names will be returned - sometimes your connection will work, and other times it won't.
Hope this helps someone with the same problem!
Regards,
Dave
Best Answer
It sounds like you have two installations of MySQL: one installed normally and one installed through XAMPP. When starting MySQL through XAMPP it will start the one it installed, when started through the command line it installs the one that is installed natively. They both bind to the same port (so you can only have one active at a time) so MySQL Workbench will display the contents of the MySQL server that is started.
Because you have two installations of MySQL you should either only use one of them (and possibly remove the other) or only start the one that you need to access.