12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #!/bin/sh
- #
- # mysql
- #
- 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() {
- WAIT_DELAY=5
- while [ $WAIT_DELAY -gt 0 ]; do
- if $MYSQL_BIN/mysqladmin ping > /dev/null 2>&1; then
- return 0
- fi
- sleep 1
- : $((WAIT_DELAY -= 1))
- done
- return 1
- }
- start() {
- # stderr is redirected to prevent a warning
- # if mysql lib directory doesn't exist
- if [ `ls -1 $MYSQL_LIB 2> /dev/null | wc -l` = 0 ] ; then
- printf "Creating mysql system tables ... "
- $MYSQL_BIN/mysql_install_db --basedir=/usr \
- --datadir=$MYSQL_LIB > /dev/null 2>&1
- if [ $? != 0 ]; then
- echo "FAIL"
- exit 1
- fi
- chown -R mysql:mysql $MYSQL_LIB
- echo "OK"
- fi
- # mysqld runs as user mysql, but /run is only writable by root
- # 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 \
- --log-error=$MYSQL_LOGFILE > /dev/null 2>&1 &
- wait_for_ready
- [ $? = 0 ] && echo "OK" || echo "FAIL"
- }
- stop() {
- printf "Stopping mysql ... "
- if [ -f $MYSQL_PIDFILE ]; then
- kill `cat $MYSQL_PIDFILE` > /dev/null 2>&1
- [ $? = 0 ] && echo "OK" || echo "FAIL"
- else
- echo "FAIL"
- fi
- }
- restart() {
- stop
- sleep 1
- start
- }
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- restart
- ;;
- *)
- echo "Usage: $0 {start|stop|restart}"
- ;;
- esac
|