Раз уж вы его в fstab прописали, вставьте туда параметр errors=remount-rw, еще у вас выключена синхронизация, судя по параметру async. Возможно стоит таки включить синхронизацию.
Для построения любых графиков есть божественный gnuplot, как выбрать данные из mysql так что бы их было удобно обрабатывать зависит от того как именно данные хранятся (т.е. не возможно подсказать сам запрос) но что то вроде SELECT WEEKDAY(time), HOUR(time), radiation FROM table WHERE time>date_start AND time
Ну насколько я знаю, например в убунту, Apache user это www-data, думаю в raspbian должно также быть. Я думаю права те что по дефолту должны быть наиболее правильными.
Два варианта, на мой взгляд:
1: Грамотно настроить sudoers.conf, чтобы была возможность запускать только bash-скрипт и всё.
2: Вместо bash написать прогу на python+flask которая локальный вэб сервер и через неё дёргать GPIO (Я это так реализовал). Это скопипастить пару десятков строк + юнит файл в автозапуск.