Trouble with remote connection to mysql on Linux machine - mysql

I have mysql server running on a linux (Ubuntu 16.04) machine on my home network, and I am trying to connect to it from a Windows 10 machine on the same network. It's not working. I can successfully ping the linux machine from the windows machine, but when I try to telnet to port 3306 from the Windows machine, it can't open the connection. I disabled the firewall on the Windows machine, and same result.
This leads me to believe the problem is on the linux machine. But ufw is not enabled and there is no bind to localhost in /etc/mysql/my.cnf (in fact there is nothing in there except two includedir statements). Anyone have advice on how to troubleshoot?
Edit:
The lsof command yields:
steve#steve-MS-7253:~$ lsof -nP -i :3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysql-wor 28172 steve 22u IPv4 254049 0t0 TCP 127.0.0.1:56712->127.0.0.1:3306 (ESTABLISHED)
mysql-wor 28172 steve 23u IPv4 253520 0t0 TCP 127.0.0.1:56710->127.0.0.1:3306 (ESTABLISHED)
/etc/mysql/my.cnf contains
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
/etc/mysql/conf.d/mysql.cnf contains only [mysql]
/etc/mysql/mysql.conf.d/mysqld.cnf contains
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer_size = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem

Use the lsof command to confirm that MySQL is listening the desired address and port. One quick command is:
# lsof -nP -i :3306
You should see a line similar to:
mysqld 3225 mysql 11u IPv4 20260 0t0 TCP *:3306 (LISTEN)
The '*:3306' in the above output indicates that MySQL is bound to all the interfaces on port 3306.
An alternative after getting the PID of the MySQL process is:
# lsof -nP -p 3225 | grep LISTEN
mysqld 3225 mysql 11u IPv4 20260 0t0 TCP *:3306 (LISTEN)
Including the contents of your /etc/mysql/my.cnf file and any configuration files in the included directories (with username/password obfuscated) would have been helpful.

Related

Unable To Connect The Specified MySQL Hosts

I have an application that requires my users to connect to an online MySQL database through "remote access" from ANY IP address (the IP address from their own internet network) so that it confirms they are in the database prior to accessing the software.
I have tried to run command lines in my Linux terminal to allow ALL users to connect remotely from any ip address using the following command:
GRANT ALL ON database_name.* TO root#'%' IDENTIFIED BY 'user_password';
I have configured my MySQL database server configuration file to enable proper remote connection (I believe).
My "MySQL database server configuration file" located in /etc/mysql/mysql.conf.d/mysqld.cnf looks like the following below:
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 0.0.0.0
#require_secure_transport = on
#
# * Fine Tuning
#
key_buffer_size = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options = BACKUP
#max_connections = 100
#table_open_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#slow_query_log = 1
#slow_query_log_file = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
I have also tried to unblock the FireWall to enable tcp connection using the following command line:
sudo ufw allow 3306/tcp
My connection string from my desktop application looks like this:
MysqlConn.ConnectionString = "server=MyServerIPaddress;Port=3306;database=MyDatabaseName;Uid=root;Pwd=MyPassword;Connect Timeout=30;SslMode=none;"
My users still get the "Unable to connect to any of the specified mysql hosts." error message.
Any support is appreciated.
That's a giant point of an API; to expose some set of predefined functionality in a controlled manner without having to expose the soft underbelly of a site or system by dismantling the security.
https://www.dreamincode.net/forums/topic/263768-setting-up-a-php-web-service-to-be-consumed-by-vbnet/

MySql WorkBench 10060 error while connecting

I'm having problem with connecting to my mysql through mysql work bench. when i create the connection and click on test connection, after 1-2 minutes it says:
failed to connect to MySQL at xxx:3306 with user root.
Lost connection to MySql server at 'waiting for initial communcation packet', system error: 10060
and when i just click connect after minutes it crashes.
I'm running mysql database on a ubuntu 18 server. I have no other firewalls and I already disabled ufw with 'ufw disable' command.
I have also commented out the bind-address line in config file.
whole config file is as below:
# The MySQL database server configuration file.
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run
program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer_size = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options = BACKUP
#max_connections = 100
#table_open_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#slow_query_log = 1
#slow_query_log_file = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
i have also granted all privileges on root as follow:
grant all privileges on *.* to 'root'#'%' identified by 'xxx';
and when i run netstat -plan| grep 3306 . i get this:
tcp6 0 0 :::3306 :::* LISTEN 27233 /mysqld
which means that the server is ready to listen from remote ip.
Give privilege to all users but it is not good practice.
GRANT ALL ON .* TO ''#'%' IDENTIFIED BY 'yourdbpassword';
FLUSH PRIVILEGES;
For more detail :
https://dev.mysql.com/doc/refman/8.0/en/grant.html

Huge latency to connect webapp to docker mysql container via Hibernate

I'm trying to port my web-app created on Windows, using Hibernate, XAMPP for Apache tomcat and mysql server, to Linux, using Docker.
After i've done the following steps, The first feature of my web.app is login/register form: On Windows all works perfectly, but with container there is latency about tens of minutes.. and sometime there is also 500 http error!!
docker run -d --name mysql-phpmyadmin -p 127.0.0.1:8686:80 -p 127.0.0.1:3306:3306 grzesiekb/mysql-phpmyadmin
docker run -d -p 8484:8080 -p 8007:8009 --name tomcat8-linked --link mysql-phpmyadmin:mysqlphp tomcat:8.0-jre8 and then deploy under webapps/ folder my warfile
In my hibernate.cfg.xml, you can see it here (i have problems to paste it in a viewable way) :)
in my mysql container my.cnf there is:
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 0.0.0.0
#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
general_log_file = /var/log/mysql/mysql.log
general_log = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#slow_query_log_file = /var/log/mysql/mysql-slow.log
#slow_query_log = 1
#long_query_time = 2
#log_queries_not_using_indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
By default, this mysql container only allows connection from localhost: for allowing connections from everywhere, i've done:
GRANT ALL PRIVILEGES ON . TO 'root'#'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Then i've imported my dql dump via phpmyadmin
Describe the results you received:
Huge latency, related to i don't know which problem, and in a random way there is no way to connect to mysql. No logs. My teacher said that probably it's a DNS problem related to Docker network.
Describe the results you expected:
Connection to the db immediately, like in Windows using XAMPP
You should try to make your setup as standard as possible to avoid bugs due to non-standard practices.
Use official or at least popular images (with millions of pulls) instead of your mysql-phpmyadmin with a hundred pulls :
https://hub.docker.com/search/?isAutomated=0&isOfficial=1&page=1&pullCount=0&q=mysql
https://hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=0&q=phpmyadmin
I'm not sure why you declare ip with host port and container port, maybe don't do this if it's not necessary, publish only host port and container port, not ip.
Don't use --link since it's deprecated, create a bridge network and run each container with --network my-bridge-network.
Upgrade your Ubuntu to the latest LTS version (16.04.2) with the latest available "HWE" kernel for this LTS version (you have to upgrade kernel with a seperate command as explained here : sudo apt-get install --install-recommends xserver-xorg-hwe-16.04

vagrant/multiple instance mysqld

So I'm trying to setup a vagrant precise64 box with multiple mysqld instances all listening on separate ports and using separate socket files.
My cnf file is here with what I believe is correct ownership and permissions
vagrant#mysqld:~$ sudo ls -la /home/mysql/user.cnf
-rw-r--r-- 1 mysql mysql 3562 Oct 30 13:26 /home/mysql/user.cnf
but when I attempt to start my mysqld instance, I get
vagrant#mysqld:~$ sudo mysqld_safe --defaults-file=/home/mysql/user.cnf --user=mysql &
[1] 11624
vagrant#mysqld:~$ 151030 16:07:33 mysqld_safe Can't log to error log and syslog at the same time. Remove all --log-error configuration options for --syslog to take effect.
151030 16:07:33 mysqld_safe Logging to '/var/log/mysql/error.log'.
151030 16:07:33 mysqld_safe Starting mysqld daemon with databases from /var/lib/dbs/user/mysql/data
151030 16:07:33 mysqld_safe mysqld from pid file /var/lib/dbs/user/mysql/mysqld_user.pid ended
and if I look at the error.log I see that it complains it cannot open the file.
151030 16:07:33 mysqld_safe Starting mysqld daemon with databases from /var/lib/dbs/user/mysql/data
Could not open required defaults file: /home/mysql/user.cnf
Fatal error in defaults handling. Program aborted
151030 16:07:33 mysqld_safe mysqld from pid file /var/lib/dbs/user/mysql/mysqld_user.pid ended
anyone have any ideas? I've burned far too much time on this already.
Here is the contents of my cnf file
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /var/lib/dbs/user/mysql/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/lib/dbs/user/mysql/mysqld.pid
socket = /var/lib/dbs/user/mysql/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/dbs/user/mysql/data
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql/
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer_size = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
Maybe a long shot, but how about trying to open the /home/mysql directory to the world for reading? chmod o+x /home/mysql for a test?

Can't connect to MySQL client outside of localhost

For some reason I am unable to connect to my mysql database outside of the server. The PHP applications running on the server are able to connect through localhost, but not my mysql client on my home computer. Below is my config. can you tell me what i'm doing wrong?
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 0.0.0.0
#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
There are two main things to check:
Is there a firewall inbetween blocking the connection? From your client you can try telnet myServerName 3306 to see if you can connect. See http://dev.mysql.com/doc/refman/5.5/en/can-not-connect-to-server.html
Is the user you are trying to connect with allowed to connect from your host? For more on this refer to the MySQL docs at http://dev.mysql.com/doc/refman/5.1/en/create-user.html and http://dev.mysql.com/doc/refman/5.1/en/account-names.html, specifically Syntax for account names is 'user_name'#'host_name'. If you want to be able to connect with a given account from any computer, the account name would follow a syntax like 'user_name'#'%', where % is a wildcard matching any host name.