欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解MySQL單實例和多實例啟動腳本

 更新時間:2023年08月04日 15:35:50   作者:CCH2023  
這篇文章主要介紹了MySQL單實例和多實例啟動腳本,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

已知MySQL多實例啟動命令為:

mysqld_safe --defaults-file=/data/3306/my.cnf &

停止命令為:

mysqladmin -uroot -pchang123 -S /data/3306/mysql.sock shutdown

請完成mysql多實例的啟動腳本的編寫:

問題分析:

要想寫出腳本,必須對MySQL服務很熟悉。

1)單實例:

# Mysql啟動
mysqld_safe &
# Mysql停止
mysqld_admin -u root -p Chang123 shutdown
# 設置root密碼
[root@vm1 scripts]# mysqladmin -uroot password "Chang123"
# 先將mariadb停止
[root@vm1 scripts]# mysqladmin -uroot -pChang123 shutdown
# 檢查進程是否停止
[root@vm1 scripts]# netstat -atunlp |grep 3306
# 再啟動mysql
[root@vm1 scripts]# mysqld_safe --user=mysql &
[1] 11535
[root@vm1 scripts]# 230802 21:49:37 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
230802 21:49:37 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
# 再檢查mysql進程是否已啟動
[root@vm1 scripts]# netstat -atunlp |grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      11681/mysqld   

先是單實例的啟動腳本的編寫:

[root@vm1 scripts]# cat start_db.sh
#!/bin/bash
#
[ -f /etc/init.d/functions ] && . /etc/init.d/functions || echo 1
usage(){
  echo “USAGE: $0 {start|stop|restart}
  exit 1
}
if [ $# -ne 1 ]
  then
    usage
fi
start() {
  mysqld_safe --user=mysql >/dev/null 2>&1 &
  if [ $? -eq 0 ]
    then
      action "start mysql" /bin/true
  else
      action "start mysql" /bin/false
  fi
}
stop() {
  mysqladmin -uroot -pChang123 shutdown >/dev/null 2>&1
  if [ $? -eq 0 ]
    then
      action  "stop mysql" /bin/true
  else
      action "stop mysql" /bin/false
  fi
}
restart() {
  stop
  sleep 2
  start
}
if [ "$1" == "start" ]
  then
    start
elif [ "$1" == "stop" ]
  then
    stop
elif [ "$1" == "restart" ]
  then
    restart
else
    usage
fi
 

執(zhí)行結果:

[root@vm1 scripts]# netstat -atunlp |grep 3306
[root@vm1 scripts]#
[root@vm1 scripts]# sh start_db.sh start
start mysql                                                [  OK  ]
[root@vm1 scripts]# 230802 22:17:56 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
230802 22:17:56 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
[root@vm1 scripts]# sh start_db.sh restart
stop mysql                                                 [  OK  ]
start mysql                                                [  OK  ]
[root@vm1 scripts]# 230802 22:18:19 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
230802 22:18:19 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
[root@vm1 scripts]#

將一些信息都不顯示出來: 

[root@vm1 scripts]# sh start_db.sh start
start mysql                                                [  OK  ]
[root@vm1 scripts]# sh start_db.sh stop
stop mysql                                                 [  OK  ]
[root@vm1 scripts]# sh start_db.sh restart
stop mysql                                                 [  OK  ]
start mysql                                                [  OK  ]
[root@vm1 scripts]# netstat -atunlp |grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      13173/mysqld   

多實例啟動腳本:

[root@vm1 scripts]# cat mysql_manage.sh
#!/bin/bash
#
Port=3306
MysqlUser="root"
MysqlPassword="Chang123"
CmdPath="/usr/local/mysql/bin"
#start function
start() {
  if [ `netstat -auntlp |grep "$Port" | wc -l` -eq 0 ]
    then
      echo "Starting MySQL..."
      /bin/sh ${CmdPath}/mysqld_safe --defaults-fle=/data/${Port}/my.cnf 2>&1 >/dev/null &
  else
      echo "MySQL is running..."
}
#stop function
stop(){
  if [ `netstat -atunlp |grep "$Port" | wc -l` -eq 0 ]
    then
      echo "Stopping MySQL..."
      ${CMDPath}/mysqladmin -u ${MysqlUser} -p {$MysqlPassword} -S /data/${Port}/mysql.sock shutdown
  else
      echo "MySQL is stopped..."
  fi
}
#restart function
restart(){
  echo "Restarting MySQL..."
  stop
  sleep 2
  start
}
case "$1" in
start)
    start
    ;;
stop)
    stop
    ;;
restart)
    restart
    ;;
*)
   echo "USAGE: $0 {start|stop|restart}"
esac

代碼說明:

1)其中使用了case語句。

把這個腳本放到/etc/init.d/目錄中,實現(xiàn)/etc/init.d/mysqld01 start 啟動,并通過chkconfig對其設置開機自啟動和關閉。

如果自己寫腳本,也就是放到/etc/init.d目錄中,作為啟動腳本。

在腳本中添加這塊內(nèi)容,設置mysql的開機自啟動。

# chkconfig: 2345 20 80
# description: Start mysql and stop mysql script.

man chkconfig,看看chkconfig的幫助文檔。

2345是運行的級別。

20:啟動優(yōu)先級

80: 停止優(yōu)先級

你應該能指出descripion的內(nèi)容。\ 反斜線是換行繼續(xù)。忽略掉在行前面的空格。

多看man幫助文檔。

看看/etc/init.d/rpcbind

 需要注意的是:數(shù)字可設置成不一樣的,但是要確保啟動優(yōu)先級在rc.d的子目錄中不要有沖突。切記。

企業(yè)面試題:

怎么把自己寫的腳本添加到服務里面,即可以使用service命令來調(diào)用?

# chkconfig 2345 21 60

# description: Save and restores system entropy pool for \ 

到此這篇關于MySQL單實例和多實例啟動腳本的文章就介紹到這了,更多相關MySQL單實例和多實例啟動腳本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL的數(shù)據(jù)類型和建庫策略分析詳解

    MySQL的數(shù)據(jù)類型和建庫策略分析詳解

    無論是在小得可憐的免費數(shù)據(jù)庫空間或是大型電子商務網(wǎng)站,合理的設計表結構、充分利用空間是十分必要的。這就要求我們對數(shù)據(jù)庫系統(tǒng)的常用數(shù)據(jù)類型有充分的認識。下面我就將我的一點心得寫出來跟大家分享。
    2008-04-04
  • mysql數(shù)據(jù)存放的位置在哪

    mysql數(shù)據(jù)存放的位置在哪

    在本篇文章里小編給大家分享的是關于mysql數(shù)據(jù)存放的位置及相關知識點內(nèi)容,需要的朋友們可以參考下。
    2020-07-07
  • Mysql中新建用戶及授權的方法分享

    Mysql中新建用戶及授權的方法分享

    這篇文章給大家匯總介紹了Mysql中新建用戶及授權的方法,首先介紹的是作者自己的項目經(jīng)歷,后面附上了參考文章,希望能對大家學習mysql有所幫助。
    2016-07-07
  • MYSQL updatexml()函數(shù)報錯注入解析

    MYSQL updatexml()函數(shù)報錯注入解析

    這篇文章主要介紹了MYSQL updatexml()函數(shù)報錯注入解析,并且簡單介紹了updatexml函數(shù),具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • 淺談Mysql哪些字段適合建立索引

    淺談Mysql哪些字段適合建立索引

    這篇文章主要介紹了淺談Mysql哪些字段適合建立索引,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • Mysql排序獲取排名的實例代碼

    Mysql排序獲取排名的實例代碼

    這篇文章通過實例代碼給大家介紹了mysql排序獲取排名的相關知識,感興趣的朋友一起看看吧
    2018-05-05
  • MySQL 查看鏈接及殺掉異常鏈接的方法

    MySQL 查看鏈接及殺掉異常鏈接的方法

    這篇文章主要介紹了MySQL 查看鏈接及殺掉異常鏈接的方法,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-02-02
  • 千萬級用戶系統(tǒng)SQL調(diào)優(yōu)實戰(zhàn)分享

    千萬級用戶系統(tǒng)SQL調(diào)優(yōu)實戰(zhàn)分享

    這篇文章主要介紹了千萬級用戶系統(tǒng)SQL調(diào)優(yōu)實戰(zhàn)分享,用戶日活百萬級,注冊用戶千萬級,而且若還沒有進行分庫分表,則該DB里的用戶表可能就一張,單表上千萬的用戶數(shù)據(jù),下面我們就來學習如何讓優(yōu)化,需要的朋友可以參考一下
    2022-03-03
  • 超出MySQL最大連接數(shù)問題及解決

    超出MySQL最大連接數(shù)問題及解決

    這篇文章主要介紹了超出MySQL最大連接數(shù)問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • DDL數(shù)據(jù)庫與表的創(chuàng)建和管理深入講解使用教程

    DDL數(shù)據(jù)庫與表的創(chuàng)建和管理深入講解使用教程

    這篇文章主要介紹了DDL數(shù)據(jù)庫與表的創(chuàng)建和管理,系統(tǒng)架構的層面來看,數(shù)據(jù)庫從大到小依次是數(shù)據(jù)庫服務器(上面安裝了DBMS和數(shù)據(jù)庫)、數(shù)據(jù)庫(也稱database或者schema)、數(shù)據(jù)表、數(shù)據(jù)表的行與列
    2023-04-04

最新評論