MySQL accesses files in various places on the file system, and
usually this isn't something to worry about. For example, in a
standard MySQL 5.5 installation on Ubuntu, the data goes in
/var/lib/mysql, and the socket is a file in /var/run/mysqld.
It puts configuration files in /etc, logs and binaries in various
locations, and it even needs to access some operating system
files such as /etc/hosts.allow.
This is all very well until you start trying to be clever and get
MySQL to access other parts of the file system. After all, you
can configure the location of data, log files, socket, and so on,
so why shouldn't you use those settings to optimize your system?
Unfortunately, on many modern Linux distributions, it's not that
always easy.
Take Ubuntu, for example. Ubuntu comes with something called
AppArmor, a kernel-integrated application security system that
controls how applications can access the file system. This goes
above …
[Read more]