Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm running Ubuntu 12 with MySql installed.

Here's MySql configuration 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

# 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.
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.
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

# * Basic Settings
user        = mysql
pid-file    = /var/run/mysqld/
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
lc-messages-dir = /usr/share/mysql
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address       =
# * 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
# 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

max_allowed_packet  = 16M

#no-auto-rehash # faster start of mysql but no tab completition

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/

I find that it would be easier to set up the system if I can connect to it from the outside.

I've tried several things, but MySql Administrator simply won't connect to it from my pc.

What changes should I make to the file to make mysql connectable?

share|improve this question
Don't expose it to the "outside", if by "outside" you mean "internet". Exhibit A. – Shane Madden Jun 14 '12 at 4:42

Uncomment bind-address option and check that this is really your address.

PS: It's better to upgrade mysql if possible, versions older than 2 month (? i suppose) on many systems can give access to the user with incorrect password.

share|improve this answer
or better The security warnings still apply :) BTW re-upvoted it because i hate people downvoting advice that might be dangerous BUT answers the question AND comes with an appropriate warning. – rackandboneman Jun 13 '12 at 23:44
Thanks. As for security warnings I now know the answer why for five years I was refusing to give anyone remote access to MySQL through untrusted networks. Even now all my setups utilize IPsec or VPN to completely shield any MySQL server from inbound connections from unknown sources. However you can always meet a client that wants just clean direct connection and nothing else... – kworr Jun 14 '12 at 4:18

It's usually a pretty bad idea to make your database available to any non-local network (aka the Internet), especially if you don't know what you are doing.

A better solution for MySQL Administrator access is to use SSH port forwarding, which is supported out of the box in recent versions of the app.

For this to work, you would modify your config file to this:

bind-address =

and then configure MySQL Admin to use SSH to connect to the database.

This has the advantage that you can still use access your database over the network, but only via the much more secure path over SSH.

share|improve this answer
Mysql listens on local address by default. He shouldn't change anything if he needs Mysql to bind to local address. – kworr Jun 14 '12 at 4:15
Can you please add some example of connecting to mysql via ssh? – s3m3n May 8 '14 at 17:41

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.