posts - 122,  comments - 25,  trackbacks - 0
          1、命令控制

          啟動(dòng):/usr/local/mysql/bin/mysqld-safe --user=mysql &
          停止:/usr/local/mysql/bin/mysqladmin -u root -p pwd shutdown

          2、自啟動(dòng)sh腳本(mysqld 存放于/etc/init.d目錄下,注意下面mysql數(shù)據(jù)所在路徑)
          #!/bin/sh
          # Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
          # This file is public domain and comes with NO WARRANTY of any kind

          # MySQL daemon start/stop script.

          # Usually this is put in /etc/init.d (at least on machines SYSV R4 based
          # systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
          # When this is done the mysql server will be started when the machine is
          # started and shut down when the systems goes down.

          # Comments to support chkconfig on RedHat Linux
          # chkconfig: 2345 64 36
          # description: A very fast and reliable SQL database engine.

          # Comments to support LSB init script conventions
          ### BEGIN INIT INFO
          # Provides: mysql
          # Required-Start: $local_fs $network $remote_fs
          # Should-Start: ypbind nscd ldap ntpd xntpd
          # Required-Stop: $local_fs $network $remote_fs
          # Default-Start:  2 3 4 5
          # Default-Stop: 0 1 6
          # Short-Description: start and stop MySQL
          # Description: MySQL is a very fast and reliable SQL database engine.
          ### END INIT INFO
           
          # If you install MySQL on some other places than /usr/local/mysql, then you
          # have to do one of the following things for this script to work:
          #
          # - Run this script from within the MySQL installation directory
          # - Create a /etc/my.cnf file with the following information:
          #   [mysqld]
          #   basedir=<path-to-mysql-installation-directory>
          # - Add the above to any other configuration file (for example ~/.my.ini)
          #   and copy my_print_defaults to /usr/bin
          # - Add the path to the mysql-installation-directory to the basedir variable
          #   below.
          #
          # If you want to affect other MySQL variables, you should make your changes
          # in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.

          # If you change base dir, you must also change datadir. These may get
          # overwritten by settings in the MySQL configuration files.


          basedir
          =
          datadir
          =

          # The following variables are only set for letting mysql.server find things.

          # Set some defaults

          pid_file=
          server_pid_file
          =
          use_mysqld_safe
          =1
          user
          =mysql
          if test -"$basedir"
          then
            basedir
          =/usr/local/mysql
            bindir
          =./bin
            
          if test -"$datadir"
            then
              datadir
          =/usr/local/mysql/data
            fi
            sbindir
          =./bin
            libexecdir
          =./bin
          else
            bindir
          ="$basedir/bin"
            
          if test -"$datadir"
            then
              datadir
          ="$basedir/data"
            fi
            sbindir
          ="$basedir/sbin"
            libexecdir
          ="$basedir/libexec"
          fi

          # datadir_set is used to determine if datadir was set (and so should be
          # *not* set inside of the --basedir= handler.)

          datadir_set=

          #
          # Use LSB init script functions for printing messages, if possible
          #

          lsb_functions="/lib/lsb/init-functions"
          if test -$lsb_functions ; then
            source 
          $lsb_functions
          else
            log_success_msg()
            {
              echo 
          " SUCCESS! $@"
            }
            log_failure_msg()
            {
              echo 
          " ERROR! $@"
            }
          fi

          PATH
          =/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin
          export PATH

          mode
          =$1    # start or stop
          shift
          other_args
          ="$*"   # uncommon, but needed when called from an RPM upgrade action
                     # Expected: "--skip-networking --skip-grant-tables"
                     # They are not checked here, intentionally, as it is the resposibility
                     # of the "spec" file author to give correct arguments only.


          case `echo 
          "testing\c"`,`echo -n testing` in
              
          *c*,-n*) echo_n=   echo_c=     ;;
              
          *c*,*)   echo_n=-n echo_c=     ;;
              
          *)       echo_n=   echo_c='\c' ;;
          esac

          parse_server_arguments() {
            
          for arg do
              case 
          "$arg" in
                
          --basedir=*)  basedir=`echo "$arg" | sed -'s/^[^=]*=//'`
                              bindir
          ="$basedir/bin"
                      
          if test -"$datadir_set"; then
                        datadir
          ="$basedir/data"
                      fi
                      sbindir
          ="$basedir/sbin"
                      libexecdir
          ="$basedir/libexec"
                  ;;
                
          --datadir=*)  datadir=`echo "$arg" | sed -'s/^[^=]*=//'`
                      datadir_set
          =1
              ;;
                
          --user=*)  user=`echo "$arg" | sed -'s/^[^=]*=//'` ;;
                
          --pid-file=*) server_pid_file=`echo "$arg" | sed -'s/^[^=]*=//'` ;;
                
          --use-mysqld_safe) use_mysqld_safe=1;;
                
          --use-manager)     use_mysqld_safe=0;;
              esac
            done
          }

          parse_manager_arguments() {
            
          for arg do
              case 
          "$arg" in
                
          --pid-file=*) pid_file=`echo "$arg" | sed -'s/^[^=]*=//'` ;;
                
          --user=*)  user=`echo "$arg" | sed -'s/^[^=]*=//'` ;;
              esac
            done
          }

          wait_for_pid () {
            i
          =0
            
          while test $i -lt 35 ; do
              
          sleep 1
              case 
          "$1" in
                
          'created')
                  test 
          -$pid_file && i='' && break
                  ;;
                
          'removed')
                  test 
          ! -$pid_file && i='' && break
                  ;;
                
          *)
                  echo 
          "wait_for_pid () usage: wait_for_pid created|removed"
                  
          exit 1
                  ;;
              esac
              echo 
          $echo_n ".$echo_c"
              i
          =`expr $i + 1`
            done

            
          if test -"$i" ; then
              log_success_msg
            
          else
              log_failure_msg
            fi
          }

          # Get arguments from the my.cnf file,
          # the only group, which is read from now on is [mysqld]

          if test -x ./bin/my_print_defaults
          then
            print_defaults
          ="./bin/my_print_defaults"
          elif test 
          -x $bindir/my_print_defaults
          then
            print_defaults
          ="$bindir/my_print_defaults"
          elif test 
          -x $bindir/mysql_print_defaults
          then
            print_defaults
          ="$bindir/mysql_print_defaults"
          else
            
          # Try to find basedir in /etc/my.cnf
            conf=/etc/my.cnf
            print_defaults
          =
            
          if test -$conf
            then
              subpat
          ='^[^=]*basedir[^=]*=\(.*\)$'
              dirs
          =`sed -"/$subpat/!d" -'s//\1/' $conf`
              
          for d in $dirs
              
          do
                d
          =`echo $d | sed -'s/[     ]//g'`
                
          if test -x "$d/bin/my_print_defaults"
                then
                  print_defaults
          ="$d/bin/my_print_defaults"
                  break
                fi
                
          if test -x "$d/bin/mysql_print_defaults"
                then
                  print_defaults
          ="$d/bin/mysql_print_defaults"
                  break
                fi
              done
            fi

            
          # Hope it's in the PATH  but I doubt it
            test -"$print_defaults" && print_defaults="my_print_defaults"
          fi

          #
          # Read defaults file from 'basedir'.   If there is no defaults file there
          # check if it's in the old (depricated) place (datadir) and read it from there
          #


          extra_args
          =""
          if test -"$basedir/my.cnf"
          then
            extra_args
          ="-e $basedir/my.cnf"
          else
            
          if test -"$datadir/my.cnf"
            then
              extra_args
          ="-e $datadir/my.cnf"
            fi
          fi

          parse_server_arguments `
          $print_defaults $extra_args mysqld server mysql_server mysql.server`

          # Look for the pidfile 
          parse_manager_arguments `$print_defaults $extra_args manager`

          #
          # Set pid file if not given
          #

          if test -"$pid_file"
          then
            pid_file
          =$datadir/mysqlmanager-`/bin/hostname`.pid
          else
            case 
          "$pid_file" in
              
          /* ) ;;
              
          * )  pid_file="$datadir/$pid_file" ;;
            esac
          fi
          if test -"$server_pid_file"
          then
            server_pid_file
          =$datadir/`/bin/hostname`.pid
          else
            case 
          "$server_pid_file" in
              
          /* ) ;;
              
          * )  server_pid_file="$datadir/$server_pid_file" ;;
            esac
          fi

          # Safeguard (relative paths, core dumps..)
          cd $basedir

          case 
          "$mode" in
            
          'start')
              
          # Start daemon

              manager
          =$bindir/mysqlmanager
              
          if test -x $libexecdir/mysqlmanager
              then
                manager
          =$libexecdir/mysqlmanager
              elif test 
          -x $sbindir/mysqlmanager
              then
                manager
          =$sbindir/mysqlmanager
              fi

              echo 
          $echo_n "Starting MySQL"
              
          if test -x $manager -"$use_mysqld_safe" = "0"
              then
                
          if test -"$other_args"
                then
                  log_failure_msg 
          "MySQL manager does not support options '$other_args'"
                  
          exit 1
                fi
                
          # Give extra arguments to mysqld with the my.cnf file. This script may
                # be overwritten at next upgrade.

                $manager --user=$user --pid-file=$pid_file >/dev/null 2>&1 &
                wait_for_pid created

                
          # Make lock for RedHat / SuSE
                if test -/var/lock/subsys
                then
                  touch 
          /var/lock/subsys/mysqlmanager
                fi
              elif test 
          -x $bindir/mysqld_safe
              then
                
          # Give extra arguments to mysqld with the my.cnf file. This script
                # may be overwritten at next upgrade.

                pid_file=$server_pid_file
                
          $bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
                wait_for_pid created

                
          # Make lock for RedHat / SuSE
                if test -/var/lock/subsys
                then
                  touch 
          /var/lock/subsys/mysql
                fi
              
          else
                log_failure_msg 
          "Couldn't find MySQL manager or server"
              fi
              ;;

            
          'stop')
              
          # Stop daemon. We use a signal here to avoid having to know the
              # root password.

              # The RedHat / SuSE lock directory to remove

              lock_dir=/var/lock/subsys/mysqlmanager

              
          # If the manager pid_file doesn't exist, try the server's
              if test ! -"$pid_file"
              then
                pid_file
          =$server_pid_file
                lock_dir
          =/var/lock/subsys/mysql
              fi

              
          if test -"$pid_file"
              then
                mysqlmanager_pid
          =`cat $pid_file`
                echo 
          $echo_n "Shutting down MySQL"
                
          kill $mysqlmanager_pid
                
          # mysqlmanager should remove the pid_file when it exits, so wait for it.
                wait_for_pid removed

                
          # delete lock for RedHat / SuSE
                if test -$lock_dir
                then
                  rm 
          -$lock_dir
                fi
              
          else
                log_failure_msg 
          "MySQL manager or server PID file could not be found!"
              fi
              ;;

            
          'restart')
              
          # Stop the service and regardless of whether it was
              # running or not, start it again.

              $0 stop  $other_args
              $
          0 start $other_args
              ;;

            
          'reload')
              
          if test -"$server_pid_file" ; then
                mysqld_pid
          =`cat $server_pid_file`
                
          kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL"
                touch 
          $server_pid_file
              
          else
                log_failure_msg 
          "MySQL PID file could not be found!"
              fi
              ;;

            
          *)
              
          # usage
              echo "Usage: $0  {start|stop|restart|reload}  [ MySQL server options ]"
              
          exit 1
              ;;
          esac


          posted on 2008-01-23 10:53 josson 閱讀(4789) 評(píng)論(0)  編輯  收藏 所屬分類: Linux數(shù)據(jù)庫(kù)
          <2008年1月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 贞丰县| 黄大仙区| 凤山市| 博野县| 五莲县| 白玉县| 浪卡子县| 白沙| 丰原市| 杭锦旗| 翁牛特旗| 大洼县| 西安市| 伊吾县| 巴东县| 社旗县| 滨海县| 西城区| 留坝县| 大田县| 溧水县| 临夏市| 东安县| 温泉县| 扎赉特旗| 江孜县| 宝山区| 许昌市| 龙胜| 额济纳旗| 明光市| 梁平县| 韶山市| 林芝县| 洛隆县| 云南省| 东兴市| 通城县| 鹤壁市| 焦作市| 东辽县|