MySQL startup confused [SOLVED]

Lars E. Pettersson lars at homer.se
Wed Jan 12 08:44:57 UTC 2005


On Tue, 2005-01-11 at 21:10, Alexander Dalloz wrote:
> That was Jason's quick guess. And having a look at the mysql init script
> you will find following comment:
> 
>         # If you've removed anonymous users, this line must be changed
> to
>         # use a user that is allowed to ping mysqld.
>         ping="/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping"

The update from January 5 does it in an even better way (see the
bugzilla mentioned earlier in th thread)

        # Spin for a maximum of N seconds waiting for the server to come
up.
        # Rather than assuming we know a valid username, accept an
"access
        # denied" response as meaning the server is functioning.
        if [ $ret -eq 0 ]; then
            STARTTIMEOUT=10
            while [ $STARTTIMEOUT -gt 0 ]; do
                RESPONSE=`/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping
2>&1` &&
 break
                echo "$RESPONSE" | grep -q "Access denied for user" &&
break
                sleep 1
                let STARTTIMEOUT=${STARTTIMEOUT}-1
            done
            if [ $STARTTIMEOUT -eq 0 ]; then
                    echo "Timeout error occurred trying to start MySQL
Daemon."
                    action $"Starting $prog: " /bin/false
            else
                    action $"Starting $prog: " /bin/true
            fi
        else
            action $"Starting $prog: " /bin/false
        fi

I.e. an "Access denied for user" is also considered as an indication
that the server is up.

Lars
-- 
Lars E. Pettersson <lars at homer.se>
http://www.sm6rpz.se/




More information about the fedora-list mailing list