]> git.pld-linux.org Git - packages/mysql.git/blobdiff - mysql.init
whitespace cleanup
[packages/mysql.git] / mysql.init
index fbc7ab16690369b434a6baad55219e697a6e9612..435a91c3b8234292dc3f1c1cdb4c2af42f735447 100755 (executable)
@@ -27,13 +27,13 @@ fi
 
 if [ -f /etc/mysql/clusters.conf ]; then
        MYSQL_DB_CLUSTERS=$(awk -F= '!/^#/ && /=/{print $2}' /etc/mysql/clusters.conf)
-       if [ -z "$MYSQL_DB_CLUSTERS"  ]; then
+       if [ -z "$MYSQL_DB_CLUSTERS" ]; then
                nls "Warning: there are no configured clusters."
        fi
 
 else
        nls "Warning: Missing clusters config file %s" /etc/mysql/clusters.conf
-       if [ -z "$MYSQL_DB_CLUSTERS"  ]; then
+       if [ -z "$MYSQL_DB_CLUSTERS" ]; then
                nls "Warning: there are no configured clusters."
                nls "Using default cluster /var/lib/mysql (compatibility mode)"
                MYSQL_DB_CLUSTERS=/var/lib/mysql
@@ -51,6 +51,8 @@ else
        exit 0
 fi
 
+sharedir=/usr/share/mysql
+
 action="$1"
 
 # any db cluster as command line argument?
@@ -123,7 +125,7 @@ mysqlstatus() {
        fi
 
        if [ "$mode" = "start" ]; then
-               MYSQL_GREP_PID=$(grep -lE "^/usr/sbin/mysqld.*${MYSQL_PIDFILE}" /proc/[0-9]*/cmdline 2> /dev/null | awk -F "/" '{ print $3; exit; }')
+               MYSQL_GREP_PID=$(grep -alE "^/usr/sbin/mysqld.*${MYSQL_PIDFILE}" /proc/[0-9]*/cmdline 2> /dev/null | awk -F "/" '{ print $3; exit; }')
                if [ -n "$MYSQL_GREP_PID" ]; then
                        MYSQL_PID=$MYSQL_GREP_PID
                        if grep -qa "$MYSQL_PIDFILE" /proc/$MYSQL_PID/cmdline 2> /dev/null; then
@@ -358,6 +360,11 @@ mysqlstop() {
 # report slave status
 # uses MYSQL_SOCKET - path to mysql socket
 slave_status() {
+       if [ ! -x /usr/bin/mysql ]; then
+               echo >&2 "Slave status not available: 'mysql' program not installed."
+               return
+       fi
+
        # see if slave status can be reported
        local err=0 slave_status=$(mysql --defaults-file="$MYSQL_CONFIG" --socket="$MYSQL_SOCKET" -e 'show slave status\G')
        if [ -z "$slave_status" ]; then
@@ -468,27 +475,22 @@ mysqlinit() {
        chown mysql:mysql "$MYSQL_CLUSTER_DIR/mysqldb" "$MYSQL_DATA_DIR" > /dev/null 2>&1
        chmod 751 "$MYSQL_CLUSTER_DIR" "$MYSQL_CLUSTER_DIR/mysqldb"
 
-       if [ -f /usr/share/mysql/mysqld.conf -a ! -f "$MYSQL_CLUSTER_DIR/mysqld.conf" ]; then
-           sed -e "
-               s#\(datadir.*\)=.*#\1= $MYSQL_DATA_DIR#g;
-               s#\(pid-file.*\)=.*#\1= $MYSQL_PIDFILE#g;
-               s#\(socket.*\)=.*#\1= $MYSQL_SOCKET#g;
-               s#@clusterdir@#$MYSQL_CLUSTER_DIR#g;
-               " /usr/share/mysql/mysqld.conf > "$MYSQL_CLUSTER_DIR/mysqld.conf"
-           chown root:root "$MYSQL_CLUSTER_DIR/mysqld.conf"
-           chmod 640 "$MYSQL_CLUSTER_DIR/mysqld.conf"
-       fi
-
-       if [ ! -e /var/lib/mysql/mysql.sock ] || [ -L /var/lib/mysql/mysql.sock ] && [ -z "$(readlink /var/lib/mysql/mysql.sock)" ]; then
-               sock=${MYSQL_SOCKET#/var/lib/mysql/} # make it relative if possible
-           ln -s "$sock" /var/lib/mysql/mysql.sock
+       if [ -f $sharedir/mysqld.conf -a ! -f "$MYSQL_CLUSTER_DIR/mysqld.conf" ]; then
+               sed -e "
+                       s#\(datadir.*\)=.*#\1= $MYSQL_DATA_DIR#g;
+                       s#\(pid-file.*\)=.*#\1= $MYSQL_PIDFILE#g;
+                       s#\(socket.*\)=.*#\1= $MYSQL_SOCKET#g;
+                       s#@clusterdir@#$MYSQL_CLUSTER_DIR#g;
+               " $sharedir/mysqld.conf > "$MYSQL_CLUSTER_DIR/mysqld.conf"
+               chown root:root "$MYSQL_CLUSTER_DIR/mysqld.conf"
+               chmod 640 "$MYSQL_CLUSTER_DIR/mysqld.conf"
        fi
 
        cat > $MYSQL_DATA_DIR/mysql-init.sql <<-EOF
                CREATE DATABASE mysql;
                use mysql;
-               $(cat /usr/share/mysql/mysql_system_tables.sql)
-               $(sed -e "/@current_hostname/d" /usr/share/mysql/mysql_system_tables_data.sql)
+               $(cat $sharedir/mysql_system_tables.sql)
+               $(sed -e "/@current_hostname/d" $sharedir/mysql_system_tables_data.sql)
 EOF
 
        ok=0
@@ -529,7 +531,7 @@ mysqladmin section. See the manual for more instructions.
 END_OF_MSG
                show "Filling help tables..."
                ok=0
-               ( echo "use mysql;"; cat /usr/share/mysql/fill_help_tables.sql ) | \
+               ( echo "use mysql;"; cat $sharedir/fill_help_tables.sql ) | \
                        /usr/sbin/mysqld \
                        --defaults-file=$MYSQL_CLUSTER_DIR/mysqld.conf \
                        --bootstrap \
@@ -564,7 +566,7 @@ ERROR:
 
 The initialization SQL script was preserved at $MYSQL_DATA_DIR/mysql-init.sql
 
-Examine the logs in /var/log/mysql for more information.  You can
+Examine the logs in /var/log/mysql for more information. You can
 also try to start the mysqld daemon with:
 
 /usr/sbin/mysqld --skip-grant &
@@ -584,11 +586,21 @@ Please check PLD Linux ftp site for newer versions of this package.
 
 Please consult the MySQL manual section: 'Problems running
 mysql_install_db', and the manual section that describes problems on
-your OS.  Another information source is the MySQL email archive.
+your OS. Another information source is the MySQL email archive.
 
 END_OF_MSG
                exit 1
        fi
+
+       # if it's first server, register as default
+       if [ ! -e /var/lib/mysql/mysql.sock ] || [ -L /var/lib/mysql/mysql.sock ] && [ -z "$(readlink /var/lib/mysql/mysql.sock)" ]; then
+               sock=${MYSQL_SOCKET#/var/lib/mysql/} # make it relative if possible
+               ln -s "$sock" /var/lib/mysql/mysql.sock
+       fi
+       # same for config, move to /etc
+       if [ ! -e /etc/mysql/mysqld.conf ]; then
+               mv "$MYSQL_CLUSTER_DIR/mysqld.conf" /etc/mysql/mysqld.conf
+       fi
 }
 
 #
@@ -718,7 +730,7 @@ case "$action" in
        ;;
   flush-logs)
        for mysqldir in $DB_CLUSTERS; do
-           mysqlgetconfig "$mysqldir"
+               mysqlgetconfig "$mysqldir"
                # just if mysqld is really running
                if /usr/bin/mysqladmin --defaults-file="$MYSQL_CONFIG" --socket="$MYSQL_SOCKET" ping >/dev/null 2>&1; then
                        /usr/bin/mysqladmin --defaults-file="$MYSQL_CONFIG" --socket="$MYSQL_SOCKET" flush-logs
This page took 0.086567 seconds and 4 git commands to generate.