Privacy settings and LaunchAgents / LaunchDaemons
Hi.
I'm running into a problem since I switch to macOS Catalina, I can't launch MariaDB with launchd.
My databases dir is on an external drive.
There is my MariaDB plist :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>org.mariadb.mariadb</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/mariadb@10.1/bin/mysqld_safe</string>
<string>--datadir=/Volumes/ExtDisk/hostExtension/database/mysql</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
And MariaDB crash loop with this output :
% sudo launchctl debug gui/501/org.mariadb.mariadb --stdin --stdout --stderr
Service configured for next launch.
191009 15:52:56 mysqld_safe Logging to '/Volumes/ExtDisk/hostExtension/database/mysql/Bils-MacMini.local.err'.
191009 15:52:56 mysqld_safe Starting mysqld daemon with databases from /Volumes/ExtDisk/hostExtension/database/mysql
/usr/local/opt/mariadb@10.1/bin/mysqld_safe_helper: Can't create/write to file '/Volumes/ExtDisk/hostExtension/database/mysql/Bils-MacMini.local.err' (Errcode: 1 "Operation not permitted")
I try to add grant access to full disk (from system privacy settings) on both mysqld_safe and mysqld_safe_helper but its change nothings.
If I set datadir to any directory on boot volume MariaDB start without error.
Same if I run command mysqld_safe --datadir=/Volumes/ExtDisk/hostExtension/database/mysql in Terminal/iTerm, MariaDB start without error.
I also try to set lowest restrictive permissions on /Volumes/ExtDisk/hostExtension/database/mysql and its content… but launchd is still unable to start MariaDB
Anyone have an idea to solve this problem ?
Thanks
Bil
Mac mini 2018 or later