SQL Error (2003): Can't connect to MySQL server on 'localhost' (10061)
Please help me this work on my friends PC-s they also try to help me I install mysql I know it's not in requarements but nothing. I use new localhost file but nothing try to install xaamp but he don't fix the problem please help me.
So, you have a locally installed server and on the same pc you want to use HeidiSQL? Just stick to "MySQL (TCP/IP)" connection, use "localhost" and "3306" as the right port. And, ensure the server is really running.
Sorry abut commas and dots.I will try to fix that i future.
I need to use localhost because my server need to be logged from SSH tunel.
I also alredy install XAMPP and mysql service running try to connect using php and apache return Connected successfully.
But I still can't log in to Heidi SQL using 127.0.0.1 or localhost.
Please give me some advice how to fix this :(
Thank You in advance I think I need to have mysql before connect to my server using ssh tunel ? or ?
what user name / password do you not know ?
if you don´t know your database´s u/p, ask your provider.
If you don´t know SSH access u/p, ask your provider.
If you dont´know which u/p to type into one of HeidiSQL´s dialogs, specify dialog (session manager?) and page title (headers on top right of session manager).
If the server is running and you have forgotten your username and password you can reset the root password.
* We know nothing about the server you are connecting to.
* We have no idea what username you are connecting with.
* We have no idea what your password might be, even if we knew the user (how could we know?).
* I have already given you a link to locally reset your root MySQL password.
* Your question has NOTHING to do with HeidiSQL specifically.
What else do you propose we do to help you?
---
TL;DR: in my case, to resolve this error, I first had to run "plink root@myvps.example.com" once on my local computer in order to have my VPS' host key to plink's key cache.
--------------------------
Full report
--------------------------
Scenario: Using HeidiSQL, I want to connect to my VPS's MySQL database via an SSH tunnel.
Context: My VPS already has a MySQL server running. It has a MySQL user "root".
So using HeidiSQL, under Session manager:
On tab "Settings":
*Network type: MySQL (SSH tunnel)
Hostname / IP: myvps.example.com
*User: root
*Password: rootMYSQLpassword
*Port: 3306
*Compressed client/server protocol: unselected
On tab "SSH tunnel":
*plink.exe location: C:\Program Files (x86)\plink.exe (... I've put plink.exe at this location)
*SSH host + port: myvps.example.com ... port: 22
*Username: root
*Password: rootSSHpassword
I clicked "Save", then "Open".
I got the following error message:
--BEGIN--
SQL Error (2003): Can't connect to MySQL server on 'localhost' (10061)
--END----
Running "plink root@myvps.example.com" on my computer's command line gave me the following information:
--BEGIN--
The server's host key is not cached in the registry. You have no guarantee that the server is the computer you think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 my:personal:hex
If you trust this host, enter "y" to add the key to PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without adding the key to the cache, enter "n". If you do not trust this host, press Return to abandon the connection.
Store key in cache? (y/n) y
Using username "root".
--END----
So I provided "y".
Back in HeidiSQL and clicking "Open" again, now I was no longer given "SQL Error (2003)"!
But now I got a new error message:
--BEGIN--
SQL Error (1130): Host 'myvps.example.com' is not allowed to connect to this MySQL server
--END----
In my specific case, my MySQL server's user "root" only had the privilege to connect to MySQL from "localhost", from "::1", and from "127.0.0.1". Therefore, I had to provide my MySQL user "root" the privilege to connect to the MySQL database from "myvps.example.com". To do so, I ssh'd on my VPS, then on my VPS' shell:
--BEGIN--
(on the server shell)
mysql -p
(After providing my MySQL root user's MySQL password, I am now on the mysql client shell... recognizable by "mysql>". Now provide the mysql client shell the following command)
grant all privileges on *.* to 'root'@'myvps.example.com' identified by 'rootMYSQLpassword';
--END-----
Back at HeidiSQL, try "Open" once again. In my case, everything worked well now. I can successfully connect from HeidiSQL via SSH to my VPS' MySQL database.
I too ran into (2003)/(10061).
---
TL;DR: in my case, to resolve this error, I first had to run "plink root@myvps.example.com" once on my local computer in order to have my VPS' host key to plink's key cache.
--------------------------
Full report
--------------------------
Scenario: Using HeidiSQL, I want to connect to my VPS's MySQL database via an SSH tunnel.
Context: My VPS already has a MySQL server running. It has a MySQL user "root".
So using HeidiSQL, under Session manager:
On tab "Settings":
*Network type: MySQL (SSH tunnel)
Hostname / IP: myvps.example.com
*User: root
*Password: rootMYSQLpassword
*Port: 3306
*Compressed client/server protocol: unselected
On tab "SSH tunnel":
*plink.exe location: C:\Program Files (x86)\plink.exe (... I've put plink.exe at this location)
*SSH host + port: myvps.example.com ... port: 22
*Username: root
*Password: rootSSHpassword
I clicked "Save", then "Open".
I got the following error message:
--BEGIN--
SQL Error (2003): Can't connect to MySQL server on 'localhost' (10061)
--END----
Running "plink root@myvps.example.com" on my computer's command line gave me the following information:
--BEGIN--
The server's host key is not cached in the registry. You have no guarantee that the server is the computer you think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 my:personal:hex
If you trust this host, enter "y" to add the key to PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without adding the key to the cache, enter "n". If you do not trust this host, press Return to abandon the connection.
Store key in cache? (y/n) y
Using username "root".
--END----
So I provided "y".
Back in HeidiSQL and clicking "Open" again, now I was no longer given "SQL Error (2003)"!
But now I got a new error message:
--BEGIN--
SQL Error (1130): Host 'myvps.example.com' is not allowed to connect to this MySQL server
--END----
In my specific case, my MySQL server's user "root" only had the privilege to connect to MySQL from "localhost", from "::1", and from "127.0.0.1". Therefore, I had to provide my MySQL user "root" the privilege to connect to the MySQL database from "myvps.example.com". To do so, I ssh'd on my VPS, then on my VPS' shell:
--BEGIN--
(on the server shell)
mysql -p
(After providing my MySQL root user's MySQL password, I am now on the mysql client shell... recognizable by "mysql>". Now provide the mysql client shell the following command)
grant all privileges on *.* to 'root'@'myvps.example.com' identified by 'rootMYSQLpassword';
--END-----
Back at HeidiSQL, try "Open" once again. In my case, everything worked well now. I can successfully connect from HeidiSQL via SSH to my VPS' MySQL database.
Registered just so say that this worked beautifully for me!
Thanks a bunch! =D
Two more facts for this to work:
* In case you run into "SQL Error (1045): Access denied for user...@...(using password: YES)", then make sure that on the "SSH tunnel" tab, you provide a unique port which does not collide with any ports running on your local machine. Especially prefer to use another port if there is already an (additionally independent) MySQL server running on your local machine which already listens on port 3306.
* Make sure that on the "Advanced" tab, option "Use SSL" is unselected. In the default situation, when network type "MySQL (SSH tunnel)" is selected, this option is greyed out and unselected. But due to misconfiguration of my session name/profile, the "Use SSL" option was selected and greyed out. To unselect it again, first change network type to "MySQL (TCP/IP)", unselect the "Use SSL" option, then change network type back to "MySQL (SSH tunnel)".
i need help for my heidiSQL.
my database worked yesterday but im now experiencing this error. the error message goes this way "SQL Error (2003): Cant connect to MySQL server on '127.0.0.1' (10061)". i tried reinstall the SQL but still the problem goes on. how could i solve this one. im new and i need some vivid explanation.
thanks a lot.
My client computer had been running for quite some time, with a few HeidiSQL crashes in between.
I assume that one of these crashed HeidiSQL instances had hogged some of my client computer's port used for connecting to the remote server.
One solution to again successfully connect to the remote server was to restart my client computer. Probably, there are "nicer" solutions such as freeing the hogged port.
Check your MySQL conf (my.cnf) and make sure your Bind Address isn't set on local host(127.0.0.1). Be sure to change this to your server's external IP if you're trying to connect remotely
---
So using HeidiSQL, under Session manager:
On tab "Settings":
*Network type: MySQL (SSH tunnel)
Hostname / IP: localhost or 127.0.0.1
*User: root
*Password: rootMYSQLpassword
*Port: 3306
*Compressed client/server protocol: unselected
---
The dropdown 'databases' list box is empty.
skip-networking
if present, comment it out (ie #skip-networking); and b) a line
bind-address=xxxx
if not present, add bind-address=0.0.0.0
if present but different behind the =, change to bind-address=0.0.0.0
then restart mysqld process (service mysql restart, /etc/init.d/mysql restart, or other depending on your system - if in doubt reboot).
if this should not work, also try
bind-address={your servers external ip address}
For some reason I had un-commented skip-networking; re-commented it and heidisql works.
btw ps aux | grep mysqld output didn't show the location of my.cnf, but I found it after little hunting. It's in /opt/lampp/etc/ -- xampp resides in /opt/lampp in Linux.
-sadhu!
This thread is pretty old, but is still one of one of the top google results for this issue in 2018!
I finally found out what my issue was with regards to HeidiSQL not connecting to MySQL via SSH.
It appears that my Unix VM (what I SSH to) was delaying login and because plink.exe is in silent mode I imagine that HeidiSQL does not wait for the login proccess to finish before it fires off the MySQL connect command thus HeidiSQL returns a "can't connect to MySQL server on 'localhost' (10061)".
However, if you execute plink.exe to output verbose mode by putting "-v" into the parameters, this either slows HeidiSQL or plink down enough to allow it to connect to MySQL.
I did find some conclusions that "reverse DNS lookups" or "GSSAPI authentication" were causing the delayed login to the Unix server. However I'm not a Unix specialist and decided its not worth the effort to try and fix that since I have a work around that works.
Hope this helps.
Please login to leave a reply, or register at first.