1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #!/bin/sh
- #
- # mysql
- #
- MYSQL_LIB="/var/lib/mysql"
- MYSQL_RUN="/run/mysql"
- MYSQL_PID="$MYSQL_RUN/mysqld.pid"
- 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() {
- if [ `ls -1 $MYSQL_LIB | wc -l` = 0 ] ; then
- printf "Creating mysql system tables ... "
- $MYSQL_BIN/mysql_install_db --basedir=/usr --user=mysql \
- --datadir=$MYSQL_LIB > /dev/null 2>&1
- if [ $? != 0 ]; then
- echo "FAIL"
- exit 1
- fi
- 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
- # We don't use start-stop-daemon because mysqld has its own
- # wrapper script.
- printf "Starting mysql ... "
- $MYSQL_BIN/mysqld_safe --pid-file=$MYSQL_PID --user=mysql \
- > /dev/null 2>&1 &
- wait_for_ready
- [ $? = 0 ] && echo "OK" || echo "FAIL"
- }
- stop() {
- printf "Stopping mysql ... "
- if [ -f $MYSQL_PID ]; then
- kill `cat $MYSQL_PID` > /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
|