If you want to allow access to your MYSQL database from any other host rather than the LOCAL server you will have to tell MySQL to bind to the external ip address rather than the local TCP stackā¦ 127.0.0.1 (which is the default)
service mysql stop sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Modify the line
bind-address = 127.0.0.1 (change 127.0.0.1 to 10.3.200.1 the externally bound IP address)
Move the default database directory off the system disk
datadir = /srv/data/mysql
Move the existing database folder to new location
mv /var/lib/mysql /srv/data/mysql
Now we need to modify apparmor to allow access to this new directory.
nano /etc/apparmor.d/local/usr.sbin.mysqld
# Site-specific additions and overrides for usr.sbin.mysqld. # For more details, please see /etc/apparmor.d/local/README. /srv/data/mysql/ r, /srv/data/mysql/** rwk, # Added to fix mem DENIED - for MySQL - check with dmesg | less capability dac_read_search, @{PROC}/@{pid}/status r, /sys/devices/system/node/ r, /sys/devices/system/node/node[0-9]*/meminfo r,
Now restart the apparmor service
systemctl restart apparmor
Make a symlink to the new locacation (the startup script is broken startup script is broken)
ln -s /srv/data/mysql /var/lib/mysql ---- NOT NEEDED
Restart MySQL service
systemctl restart mysql