Short sum-up, consider that:
* /var/lib/mysql is mount point
* 'systemctl start mariadb' is executed
* this runs '/usr/bin/mysql_install_db' in /var/lib/mysql when
the '[ ! -d /var/lib/mysql/mysql ]'
* if the mysql_install_db fails, 'rm -rf' is called there
The issue is when user mistakenly mounts the directory wrongly.
E.g. the whole '/var' mountpoint mounted as /var/lib/mysql:
* the '/var/lib/mysql/mysql' does not exist
* the mysql_install_db is called, but it fails (permissions)
* the 'rm -rf' is called, removes recursivelly all files owned by mysql
Clear user error, but we can protect user against disaster.
For more info:
+++ This bug was initially created as a clone of Bug #1335849 +++
There are other cases too:
- backup of databases, for example
mkdir /var/lib/mysql/BACKUP; mv /var/lib/mysql/* /var/lib/mysql/BACKUP
- permission problems or fail of filesystem + over quota = removal of files
- may be others too...
Should be fixed before more users will loss its data.
Patch applied, moving to QA.
*** Bug 1449072 has been marked as a duplicate of this bug. ***
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.