Why is /etc/mysql/my.cnf EMPTY?

Solution 1:

Firstly, as A.B. rightly points out, the file is not empty. It has two rather important directives, namely

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

Those lines are saying that additional configuration files (.cnf in this case) can be found in the directories listed:

/etc/mysql/conf.d/
/etc/mysql/mysql.conf.d/

The latter of the two directories should contain mysqld.cnf. In other words, the appropriate configuration file should be:

/etc/mysql/mysql.conf.d/mysqld.cnf

Solution 2:

The file isn't empty. It contains comments - the lines with a leading # - and import statements -the lines with a leading !. An import statement means other configurations will be used, too.

Editing a configuration file also means adding new configuration lines.

Solution 3:

My file is the same. You need to add the correct group above the command you're trying to put in otherwise the service wont start.

To add bind-address you will need to add [mysqld] above it.

If you need to check what the groups are for the other commands, there's an example my.cnf file here.

If you want to enable remote connections from all interfaces (i.e 0.0.0.0), your file would look something like below, however be sure you set up your firewall correctly if you do.

#
# 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

#
# * 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/
!includedir /etc/mysql/mysql.conf.d/

[mysqld]    
bind-address = 0.0.0.0

Note the [mysqld] group.