Which one for MySql Bind addresss 127.0.0.1 (in apache & ubuntu) Should I set the bind address 127.0.0.1 in 

etc/mysql/my.cnf


or

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


I am using 

mysql Ver 14.14 Distrib 5.7.20, for Linux (x86_64) 

mysqladmin Ver 8.42 Distrib 5.7.20, for Linux on x86_64
Many Linux distributions source the contents of /etc/mysql/conf.d after reading /etc/mysql/my.cnf, so that the package maintainer can make whatever changes they want to my.cnf and the system administrator can keep only their customizations in the conf.d directory, which makes upgrades much easier.

However, quoting straight out of my /etc/mysql/my.cnf file provided by Debian Linux (I've got MariaDB, but Debian policy handles it the same way as they would have MySQL):


  The MariaDB/MySQL tools read configuration files in the following order:
  
  
  "/etc/mysql/mariadb.cnf" (this file) to set global defaults,
  "/etc/mysql/conf.d/*.cnf" to set global options.
  "/etc/mysql/mariadb.conf.d/*.cnf" to set MariaDB-only options.
  "~/.my.cnf" to set user-specific options.
  


On my system, the default bind-address is set in /etc/mysql/mariadb.conf.d/50-server.cnf which would be read after my customized setting in /etc/mysq/conf.d/isaacs_totally_great_customizations.cnf, and override my setting from there — I'd have to set it in the mariadb.conf.d folder. You don't say which distribution you're using, but you should look in /etc/mysq/my.cnf for some hints about the order of loading. At the end, you'll probably see a line like !includedir /etc/mysql/mysql.conf.d/ which will show you which folder is loaded last.

My opinion is that, if the conf.d directory is loaded last, that's the "best" place to put it and least likely to be affected by your next upgrade. Of course, the simplest solution would be to just make your bind-address statement the last line of my.cnf which would pretty simply solve the problem without any lingering doubts.