MySQL集群自动安装脚本_MySQL

Jun 01, 2016 pm 01:57 PM
インストール 新しい ソースコード

Mysql集群


  1. 在MySQL源代码目录下新建脚本 install.sh,把下面的代码添加到这个脚本中:

#!/bin/bash

 

############################################

######### MySQL Server Config ##############

############################################

#Determine to install MySQL server

#"0" means do not install server programs

INST_SERVER=1

#MySQL installation path

INST_PATH="/usr/local/mysql"

#Define the ports of MySQL installation, intput strings of

#PORT with whitespace separated.

#e.g. "3306 3307" means install two MySQL servers:

#     The first server will be installed to $INST_PATH/1 and listen 3306 port.

#     The second server will be installed to $INST_PATH/2 and listen 3307 port.

#     ... ...

INST_PORTS="3306"

#The management server information

MGM_HOST="192.168.1.253"

MGM_PORT="2200"

###########################################

######### MySQL Cluster Config ############

###########################################

#Determine to install cluster

#"0" means do not install cluster programs

INST_CLUSTER=1

#Define COMPUTERs in config.ini, intput strings of HostName with

#whitespace separated.

#The Id attribute is auto increment and start with 1.

#e.g. "192.168.1.253 192.168.252" will generate the following code

#  [COMPUTER]

#    Id=1

#    HostName=192.168.1.253

#  [COMPUTER]

#    Id=2

#    HostName=192.168.1.252

COMPUTERS="192.168.1.253 192.168.1.252"

#Define MGMs in config.ini, intput strings of HostName with whitespace separated.

#e.g. "192.168.1.253 192.168.252" will generate the following code

#  [MGM]

#    HostName=192.168.1.253

#  [MGM]

#    HostName=192.168.1.252

MGMS="192.168.1.253"

#Define DBs in config.ini, intput ids of ExecuteOnComputer with whitespace separated.

#e.g. "1 2" will generate the following code

#  [DB]

#    ExecuteOnComputer=1

#  [DB]

#    ExecuteOnComputer=2

DBS="1"

#Define APIs in config.ini, intput ids of ExecuteOnComputer with whitespace separated.

#e.g. "1 0 1 2" will generate the following code

#  [API]

#    ExecuteOnComputer=1

#  [API]

#  [API]

#    ExecuteOnComputer=1

#  [API]

#    ExecuteOnComputer=2

APIS="1 0 2 2"

######################################################################

########## Starting to install programs, do not modify them! #########

######################################################################

echo "Starting to install programs" > install.log

#Find installation path

if [ $# -gt 0 ]

then

  INST_PATH="{GetProperty(Content)}"

else

  INST_PATH="/usr/local/mysql"

fi

if [ 0 -lt $INST_SERVER ]

then

 echo "Now, installing the MySQL servers..."

 

 #Loop to install mysql servers

 INSTALLED_SERVER_COUNT=1

 for PORT in $INST_PORTS

 do

  #Define the current mysql server installation path

   MYSL_PATH=$INST_PATH/$INSTALLED_SERVER_COUNT

  

   #Configure mysql server

   echo "Exec ./configure --prefix=$MYSL_PATH --with-pthread

--with-unix-socket-path=$MYSL_PATH/var/mysql.sock --with-mysqld-user=root

--with-tcp-port=$PORT --with-charset=gbk --with-ndbcluster" >> install.log

   ./configure --prefix=$MYSL_PATH --with-pthread

--with-unix-socket-path=$MYSL_PATH/var/mysql.sock

--with-mysqld-user=root --with-tcp-port=$PORT

--with-charset=gbk --with-ndbcluster

 

   #Make mysql server

   echo "Exec make && make install" >> install.log

   make && make install

  

   #Create var directory for mysql data

   mkdir -p $MYSL_PATH/var

  

   #Create my.cnf

   echo "Create $MYSL_PATH/var/my.cnf" >> install.log

   echo "[client]" > $MYSL_PATH/var/my.cnf

   echo "port=$PORT" >> $MYSL_PATH/var/my.cnf

   echo "socket=$MYSL_PATH/var/mysql.sock" >> $MYSL_PATH/var/my.cnf

   echo "" >> $MYSL_PATH/var/my.cnf

   echo "[mysqld]" >> $MYSL_PATH/var/my.cnf

   echo "ndbcluster" >> $MYSL_PATH/var/my.cnf

   echo "ndb_connectstring=host=$MGM_HOST:$MGM_PORT" >> $MYSL_PATH/var/my.cnf

   echo "user=root" >> $MYSL_PATH/var/my.cnf

   echo "port=$PORT" >> $MYSL_PATH/var/my.cnf

   echo "basedir=$MYSL_PATH/" >> $MYSL_PATH/var/my.cnf

   echo "datadir=$MYSL_PATH/var/" >> $MYSL_PATH/var/my.cnf

   echo "socket=$MYSL_PATH/var/mysql.sock" >> $MYSL_PATH/var/my.cnf

   echo "default-character-set=gbk" >> $MYSL_PATH/var/my.cnf

   echo "default-storage-engine=INNODB" >> $MYSL_PATH/var/my.cnf

   echo "max_connections=500" >> $MYSL_PATH/var/my.cnf

   echo "" >> $MYSL_PATH/var/my.cnf

   echo "query_cache_size=33M" >> $MYSL_PATH/var/my.cnf

   echo "table_cache=1520" >> $MYSL_PATH/var/my.cnf

   echo "tmp_table_size=16M" >> $MYSL_PATH/var/my.cnf

   echo "thread_cache=38" >> $MYSL_PATH/var/my.cnf

   echo "" >> $MYSL_PATH/var/my.cnf

   echo "#MyISAM Specific options" >> $MYSL_PATH/var/my.cnf

   echo "#skip-myisam" >> $MYSL_PATH/var/my.cnf

   echo "" >> $MYSL_PATH/var/my.cnf

   echo "#INNODB Specific options" >> $MYSL_PATH/var/my.cnf

   echo "#skip-innodb" >> $MYSL_PATH/var/my.cnf

   chmod 755 $MYSL_PATH/var/my.cnf

  

   #Install mysql database

   echo "Exec $MYSL_PATH/bin/mysql_install_db" >> install.log

   $MYSL_PATH/bin/mysql_install_db

  

   #Create mysql control script

   if [ -e $MYSL_PATH/share/mysql/mysql.server ]

   then

  

    #Use default mysql control script

   

    #Create mysql server start script

    echo "Create $MYSL_PATH/start" >> install.log

    echo "$MYSL_PATH/share/mysql/mysql.server start" > $MYSL_PATH/start

    echo "Chmod 755 $MYSL_PATH/start" >> install.log

    chmod 755 $MYSL_PATH/start

   

    #Create mysql server stop script

    echo "Create $MYSL_PATH/stop" >> install.log

    echo "$MYSL_PATH/share/mysql/mysql.server stop" > $MYSL_PATH/stop

    echo "Chmod 755 $MYSL_PATH/stop" >> install.log

    chmod 755 $MYSL_PATH/stop

   

    #Create mysql server restart script

    echo "Create $MYSL_PATH/restart" >> install.log

    echo "$MYSL_PATH/share/mysql/mysql.server restart" > $MYSL_PATH/restart

    echo "Chmod 755 $MYSL_PATH/restart" >> install.log

    chmod 755 $MYSL_PATH/restart

   else

  

     #Use custom mysql control script

    

    #Create mysql server start script

    echo "Create $MYSL_PATH/start" >> install.log

    echo "$MYSL_PATH/libexec/mysqld &" > $MYSL_PATH/start

    echo "Chmod 755 $MYSL_PATH/start" >> install.log

    chmod 755 $MYSL_PATH/start

   

    #Create mysql server stop script

    echo "Create $MYSL_PATH/stop" >> install.log

    echo "$MYSL_PATH/bin/mysqladmin -u root -p shutdown" > $MYSL_PATH/stop

    echo "Chmod 755 $MYSL_PATH/stop" >> install.log

    chmod 755 $MYSL_PATH/stop

   

    #Create mysql server restart script

    echo "Create $MYSL_PATH/restart" >> install.log

    echo "$MYSL_PATH/bin/mysqladmin -u root -p shutdown" > $MYSL_PATH/restart

    echo "$MYSL_PATH/libexec/mysqld &" >> $MYSL_PATH/restart

    echo "Chmod 755 $MYSL_PATH/restart" >> install.log

    chmod 755 $MYSL_PATH/restart

   fi

  

   #Clean mysql server to get ready for the next installation

   echo "Exec make clean" >> install.log

   make clean

  

   INSTALLED_SERVER_COUNT=$(($INSTALLED_SERVER_COUNT + 1))

 done

 

 echo "Configurations! MySQL servers has been installed successfully."

 echo ""

 echo "1. To start mysql server, use the following command:"
 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Win11システムに中国語言語パックをインストールできない問題の解決策 Win11システムに中国語言語パックをインストールできない問題の解決策 Mar 09, 2024 am 09:48 AM

Win11 システムに中国語言語パックをインストールできない問題の解決策 Windows 11 システムの発売に伴い、多くのユーザーは新しい機能やインターフェイスを体験するためにオペレーティング システムをアップグレードし始めました。ただし、一部のユーザーは、アップグレード後に中国語の言語パックをインストールできず、エクスペリエンスに問題が発生したことに気づきました。この記事では、Win11 システムに中国語言語パックをインストールできない理由について説明し、ユーザーがこの問題を解決するのに役立ついくつかの解決策を提供します。原因分析 まず、Win11 システムの機能不全を分析しましょう。

VirtualBox にゲスト追加機能をインストールできない VirtualBox にゲスト追加機能をインストールできない Mar 10, 2024 am 09:34 AM

OracleVirtualBox の仮想マシンにゲスト追加をインストールできない場合があります。 [デバイス] > [InstallGuestAdditionsCDImage] をクリックすると、以下に示すようなエラーがスローされます。 VirtualBox - エラー: 仮想ディスク C: プログラミング ファイルOracleVirtualBoxVBoxGuestAdditions.iso を ubuntu マシンに挿入できません この投稿では、次の場合に何が起こるかを理解します。 VirtualBox にゲスト追加機能をインストールできません。 VirtualBox にゲスト追加機能をインストールできない Virtua にインストールできない場合

Baidu Netdisk は正常にダウンロードされたものの、インストールできない場合はどうすればよいですか? Baidu Netdisk は正常にダウンロードされたものの、インストールできない場合はどうすればよいですか? Mar 13, 2024 pm 10:22 PM

Baidu Netdisk のインストール ファイルを正常にダウンロードしたにもかかわらず、正常にインストールできない場合は、ソフトウェア ファイルの整合性にエラーがあるか、残っているファイルとレジストリ エントリに問題がある可能性があります。 Baidu Netdisk はダウンロードできましたが、インストールできない問題の分析を紹介します。 Baidu Netdisk は正常にダウンロードされたがインストールできない問題の分析 1. インストール ファイルの整合性を確認します。ダウンロードしたインストール ファイルが完全で、破損していないことを確認します。再度ダウンロードするか、別の信頼できるソースからインストール ファイルをダウンロードしてみてください。 2. ウイルス対策ソフトウェアとファイアウォールをオフにする: ウイルス対策ソフトウェアやファイアウォール プログラムによっては、インストール プログラムが正常に実行されない場合があります。ウイルス対策ソフトウェアとファイアウォールを無効にするか終了してから、インストールを再実行してください。

Linux での CURL バージョンの更新に関するチュートリアル! Linux での CURL バージョンの更新に関するチュートリアル! Mar 07, 2024 am 08:30 AM

Linux でカールのバージョンを更新するには、以下の手順に従います。 現在のカールのバージョンを確認します。 まず、現在のシステムにインストールされているカールのバージョンを確認する必要があります。ターミナルを開き、次のコマンドを実行します。curl --version このコマンドは、現在のcurlバージョン情報を表示します。利用可能なcurlのバージョンを確認する:curlを更新する前に、利用可能な最新バージョンを確認する必要があります。 Curl の公式 Web サイト (curl.haxx.se) または関連ソフトウェア ソースにアクセスして、curl の最新バージョンを見つけることができます。 Curl ソース コードをダウンロードする:curl またはブラウザを使用して、選択した CURL バージョンのソース コード ファイル (通常は .tar.gz または .tar.bz2) をダウンロードします。

Android アプリを Linux にインストールするにはどうすればよいですか? Android アプリを Linux にインストールするにはどうすればよいですか? Mar 19, 2024 am 11:15 AM

Linux への Android アプリケーションのインストールは、多くのユーザーにとって常に懸念事項であり、特に Android アプリケーションを使用したい Linux ユーザーにとって、Android アプリケーションを Linux システムにインストールする方法をマスターすることは非常に重要です。 Linux 上で Android アプリケーションを直接実行するのは Android プラットフォームほど簡単ではありませんが、エミュレータやサードパーティのツールを使用すれば、Linux 上で Android アプリケーションを快適に楽しむことができます。ここでは、Linux システムに Android アプリケーションをインストールする方法を紹介します。

Ubuntu 24.04 に Ubuntu Notes アプリをインストールして実行する方法 Ubuntu 24.04 に Ubuntu Notes アプリをインストールして実行する方法 Mar 22, 2024 pm 04:40 PM

高校で勉強しているときに、同じクラスの他の生徒よりも多くのメモを取る、非常に明確で正確なメモを取る生徒もいます。メモをとることが趣味である人もいますが、重要なことについての小さな情報をすぐに忘れてしまうため、メモをとることが必需品である人もいます。 Microsoft の NTFS アプリケーションは、通常の講義以外にも重要なメモを保存したい学生にとって特に役立ちます。この記事では、Ubuntu24へのUbuntuアプリケーションのインストールについて説明します。 Ubuntu システムの更新 Ubuntu インストーラーをインストールする前に、Ubuntu24 では、新しく構成されたシステムが更新されていることを確認する必要があります。 Ubuntu システムでは最も有名な「a」を使用できます

Ubuntu 24.04 に Podman をインストールする方法 Ubuntu 24.04 に Podman をインストールする方法 Mar 22, 2024 am 11:26 AM

Docker を使用したことがある場合は、デーモン、コンテナー、およびそれらの機能を理解する必要があります。デーモンは、コンテナがシステムですでに使用されているときにバックグラウンドで実行されるサービスです。 Podman は、Docker などのデーモンに依存せずにコンテナーを管理および作成するための無料の管理ツールです。したがって、長期的なバックエンド サービスを必要とせずにコンテナーを管理できるという利点があります。さらに、Podman を使用するにはルートレベルの権限は必要ありません。このガイドでは、Ubuntu24 に Podman をインストールする方法について詳しく説明します。システムを更新するには、まずシステムを更新し、Ubuntu24 のターミナル シェルを開く必要があります。インストールプロセスとアップグレードプロセスの両方で、コマンドラインを使用する必要があります。シンプルな

creo のインストール方法-creo インストール チュートリアル creo のインストール方法-creo インストール チュートリアル Mar 04, 2024 pm 10:30 PM

多くの初心者の友人はまだ creo のインストール方法を知りません。そのため、以下のエディターが creo のインストールに関する関連チュートリアルを提供します。必要な友人はそれを参照してください。お役に立てれば幸いです。 1. ダウンロードしたインストール パッケージを開き、次の図に示すように、License フォルダーを見つけます。 2. 次に、次の図に示すように、それを C ドライブ上のディレクトリにコピーします。 3. ダブルクリックして入力し、以下の図に示すように、ライセンス ファイルがあります。 図に示すように、4. 次に、次の図に示すように、ライセンス ファイルをこのファイルにコピーします。 5. C ドライブの PROGRAMFILES ファイルに、新しい PLC フォルダを作成します。次の図に示すように、ライセンス ファイルもコピーします。 次の図に示すように、クリックします。 7. メイン プログラムのインストール ファイルをダブルクリックします。インストールするには、新しいソフトウェアをインストールするボックスにチェックを入れます。

See all articles