package/mariadb: explicitly define logging directory to mysqld
authorRyan Coe <bluemrp9@gmail.com>
Tue, 4 Feb 2020 01:21:58 +0000 (17:21 -0800)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 4 Feb 2020 13:57:20 +0000 (14:57 +0100)
By default, mariadb creates logging files under the data directory.
This patch updates the startup scripts to log under /var/log/mysql.

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

index ffd3712400f6bbb184465aab36c1e9b38729a812..b895014b54f1d30a2e664e6b818eba9537e7ee71 100644 (file)
@@ -6,6 +6,8 @@
 MYSQL_LIB="/var/lib/mysql"
 MYSQL_RUN="/run/mysql"
 MYSQL_PIDFILE="$MYSQL_RUN/mysqld.pid"
+MYSQL_LOG="/var/log/mysql"
+MYSQL_LOGFILE="$MYSQL_LOG/mysqld.log"
 MYSQL_BIN="/usr/bin"
 
 wait_for_ready() {
@@ -38,11 +40,14 @@ start() {
        # so create a subdirectory for mysql.
        install -d -o mysql -g root -m 0755 $MYSQL_RUN
 
+       # Also create logging directory as user mysql.
+       install -d -o mysql -g root -m 0755 $MYSQL_LOG
+
        # We don't use start-stop-daemon because mysqld has its own
        # wrapper script.
        printf "Starting mysql ... "
        $MYSQL_BIN/mysqld_safe --pid-file=$MYSQL_PIDFILE --user=mysql \
-               > /dev/null 2>&1 &
+               --log-error=$MYSQL_LOGFILE > /dev/null 2>&1 &
        wait_for_ready
        [ $? = 0 ] && echo "OK" || echo "FAIL"
 }
index 3eaef173e14c444c635d34ebf6af3a99e6160b8a..d9ea74ebc3cc3cbccda565db66f2b400bd73c640 100644 (file)
@@ -3,7 +3,8 @@ 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 && chown -R mysql:mysql /var/lib/mysql'
-ExecStart=/usr/bin/mysqld_safe
+ExecStartPre=install -d -o mysql -g root -m 0755 /var/log/mysql
+ExecStart=/usr/bin/mysqld_safe --log-error=/var/log/mysql/mysqld.log
 Restart=always
 User=mysql
 RuntimeDirectory=mysql