package/mariadb: fix permissions of data dir when using systemd
authorRyan Coe <bluemrp9@gmail.com>
Tue, 4 Feb 2020 01:21:53 +0000 (17:21 -0800)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 4 Feb 2020 13:57:20 +0000 (14:57 +0100)
mysql_install_db is currently called in the systemd unit without
--user=mysql that the sysv script uses. This will generate the initial
database files with root permissions. However, mysqld runs as user mysql
so this will cause problems. We fix this by calling chown instead of
passing the user parameter because an upcoming version bump will fail when
ran this way.

Signed-off-by: Ryan Coe <bluemrp9@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/mariadb/mysqld.service

index cd308310c6ac4828c6cc627f347a8dd929be5994..3eaef173e14c444c635d34ebf6af3a99e6160b8a 100644 (file)
@@ -2,7 +2,7 @@
 Description=MySQL database server
 
 [Service]
-ExecStartPre=/bin/sh -c 'test "`ls -1 /var/lib/mysql | wc -l`" != "0" || mysql_install_db --basedir=/usr --datadir=/var/lib/mysql'
+ExecStartPre=/bin/sh -c 'test "`ls -1 /var/lib/mysql | wc -l`" != "0" || mysql_install_db --basedir=/usr --datadir=/var/lib/mysql && chown -R mysql:mysql /var/lib/mysql'
 ExecStart=/usr/bin/mysqld_safe
 Restart=always
 User=mysql