Ubuntu12.10複数のMysql 5をインストールする.5例(一)
8192 ワード
この記事では、1台のマシンに複数のmysqlインスタンスをインストールする方法について説明します(このようなメリットはしばらく議論しないでgoogleできます).
1.mysqlのインストール
1)必要なユーザーを作成します.ユーザーグループ(rootでインストールしないでください.mysqlは直接sudoでmysqldを起動することはできません.--user=mysqlを指定する必要があります.)
2)tarファイルを/optなどのディレクトリにコピーし、解凍する
3)リンクの作成
#binディレクトリへのリンクの同時作成
4)db instanceのインストール
最初のinstanceのpid,sock,dataを格納し、順番に類推してmysql 02,03を作成できます.
#次のスクリプトを実行すると、最初のinstanceのデータベースが初期化されます.
#その前にlibaio 1をインストールし、コマンドを実行する必要がある場合があります.
#安全のため、dataディレクトリを除くすべてのディレクトリのownerをrootに変更
#構成my.cnf、datadir、pid、socketなどの構成を変更する必要があります
#サービスの構成
#起動
#ポートがリスニングされていることを確認するには、次のコマンドを実行します.
2.2番目のdb instanceをインストールする
1)データファイルディレクトリの準備
2)データファイルの初期化
2番目のmyを構成します.cnf,port=3307を修正し,対応するdatadir,pidおよびsocket!!!
3)cnfを構成して起動する
#指定my.cnf起動instance
4)rootパスワードの変更
#ポートがリスニングされていることを確認するには、次のコマンドを実行します.
#ps-ef|grep mysqlで2つのinstanceが実行されていることも確認できます
#mysqladminでrootの初期パスワードを指定
5)インストールしたばかりの2つのインストールを検証する
#パラメータを指定せず、デフォルトポート3306、最初のinstanceにアクセス
#2番目のinstanceにアクセスするにはsocketを指定する必要があります
これで,単機で複数のmysqlをインストールするインスタンスはそれほど悪くなく,単機で複数のmysqlデータベースをインストールする場合と大きく異なる.
3.mysqld_を使うMultiフルインストール
1)新しいmyを作成する.cnf
mysqld_の実行Multi--exampleはマルチインスタンス環境でmyを得ることができる.cnfサンプルは、以下のように少し変更されます.
#ここのユーザー名パスワードはすべてのinstanceにアクセスでき、shutdownの権限があるはずです.ここでは簡単にrootを直接使用します(導入時にinstanceごとにアカウントを作成する必要があります).
このファイルを/etc/mysql/の下に置いて上書きすればいい(元のmy.cnfとmy 2.cnfはそれぞれ2つのinstanceに対して、もう必要ありません)
2)マルチインスタンス実行sudo mysqld_の起動Multi start 1,2はmysqld 1とmysqld 2を同時に起動することができ、start 1,3-4のような式をサポートすることができる.
3)インストール結果の検証
同2.5の手順
4.第3ないし第Nのinstanceを追加し続ける
1)すべてのmysqldを停止する:
2)データファイルのディレクトリの準備
3)初期化(データファイルのインストール)
#mysqldを起動します(上記と異なる場合は、my 3.cnfを構成せずにパラメータを直接指定します.効果は同じです).
#パスワードを変更し、mysqld_のために1番目と2番目のinstanceと同じパスワードを保持します.Multiは起動/停止可能
#修正my.cnf,[mysqld 3]の内容を追加する(mysqld 1,mysqld 2を模倣すればよい)
#再起動、killが落ちる前に起動するすべてのmysqldのプロセス
#sudo netstat-nltp|grep mysqlを実行すると、3306-3308がlistenに表示されます.
同時に別々に運転する
それぞれのinstanceにログインできます
Linux学習入門チュートリアル:
Linux常用命令全集:アクセス
1.mysqlのインストール
1)必要なユーザーを作成します.ユーザーグループ(rootでインストールしないでください.mysqlは直接sudoでmysqldを起動することはできません.--user=mysqlを指定する必要があります.)
1 sudo groupadd mysql
2 sudo useradd -r -g mysql mysql
2)tarファイルを/optなどのディレクトリにコピーし、解凍する
cd /opt
sudo tar zxvf ~/download/mysql-5.x-linux-glibc2.5-x86_64.tar.gz
3)リンクの作成
1 cd /usr/local
2 sudo ln -s /opt/mysql-5.x-linux-glibc2.5-x86_64 mysql
#binディレクトリへのリンクの同時作成
1 sudo ln -s /usr/local/mysql/bin/* /usr/local/bin/cd mysql
2 sudo chown -R mysql .
3 sudo chgrp -R mysql .
4)db instanceのインストール
sudo mkdir -p /data/mysql/mysql01
最初のinstanceのpid,sock,dataを格納し、順番に類推してmysql 02,03を作成できます.
sudo chown mysql:mysql /data/mysql -R
# mysql /data/mysql
#次のスクリプトを実行すると、最初のinstanceのデータベースが初期化されます.
#その前にlibaio 1をインストールし、コマンドを実行する必要がある場合があります.
sudo apt-get install libaio1 libaio-dev
sudo scripts/mysql_install_db --user=mysql --datadir=/data/mysql/mysql01
#安全のため、dataディレクトリを除くすべてのディレクトリのownerをrootに変更
1 sudo chown -R root .
2 sudo chown -R mysql data
#構成my.cnf、datadir、pid、socketなどの構成を変更する必要があります
1 sudo cp support-files/my-medium.cnf /etc/mysql/my.cnf
#サービスの構成
sudo cp support-files/mysql.server /etc/init.d/mysql
#起動
# mysqlsudo service mysql start
#ポートがリスニングされていることを確認するには、次のコマンドを実行します.
sudo netstat -nltp | grep mysql
2.2番目のdb instanceをインストールする
1)データファイルディレクトリの準備
1 sudo mkdir -p /data/mysql/mysql02
2 sudo chown mysql:mysql /data/mysql/mysql02
2)データファイルの初期化
sudo scripts/mysql_install_db --user=mysql --datadir=/data/mysql/mysql02
2番目のmyを構成します.cnf,port=3307を修正し,対応するdatadir,pidおよびsocket!!!
3)cnfを構成して起動する
sudo cp /etc/mysql/my.cnf /etc/mysql/my2.cnf
#指定my.cnf起動instance
sudo mysqld --defaults-file=/etc/mysql/my2.cnf --user=mysql
4)rootパスワードの変更
#ポートがリスニングされていることを確認するには、次のコマンドを実行します.
sudo netstat -nltp | grep mysql
#ps-ef|grep mysqlで2つのinstanceが実行されていることも確認できます
#mysqladminでrootの初期パスワードを指定
sudo mysqladmin -uroot password 'passwd' --socket=/data/mysql/mysql02.sock
5)インストールしたばかりの2つのインストールを検証する
#パラメータを指定せず、デフォルトポート3306、最初のinstanceにアクセス
mysql -uroot -p
#2番目のinstanceにアクセスするにはsocketを指定する必要があります
mysql -uroot -p -S/data/mysql/mysql02.sock
これで,単機で複数のmysqlをインストールするインスタンスはそれほど悪くなく,単機で複数のmysqlデータベースをインストールする場合と大きく異なる.
3.mysqld_を使うMultiフルインストール
1)新しいmyを作成する.cnf
mysqld_の実行Multi--exampleはマルチインスタンス環境でmyを得ることができる.cnfサンプルは、以下のように少し変更されます.
1 [mysqld_multi]
2 mysqld = /usr/local/mysql/bin/mysqld_safe
3 mysqladmin = /usr/local/mysql/bin/mysqladmin
#ここのユーザー名パスワードはすべてのinstanceにアクセスでき、shutdownの権限があるはずです.ここでは簡単にrootを直接使用します(導入時にinstanceごとにアカウントを作成する必要があります).
1 user = root
2 password = passwd
3 [mysqld1]
4 pid-file = /data/mysql/mysql01.pid
5 socket = /data/mysql/mysql01.sock
6 port = 3306datadir = /data/mysql/mysql01
7 user = mysql
8 log = /var/log/mysql/mysql01.log
9 [mysqld2]
10 pid-file = /data/mysql/mysql02.pid
11 socket = /data/mysql/mysql02.sock
12 port = 3307
13 datadir = /data/mysql/mysql02
14 user = mysql
15 log = /var/log/mysql/mysql02.log
このファイルを/etc/mysql/の下に置いて上書きすればいい(元のmy.cnfとmy 2.cnfはそれぞれ2つのinstanceに対して、もう必要ありません)
2)マルチインスタンス実行sudo mysqld_の起動Multi start 1,2はmysqld 1とmysqld 2を同時に起動することができ、start 1,3-4のような式をサポートすることができる.
3)インストール結果の検証
同2.5の手順
4.第3ないし第Nのinstanceを追加し続ける
1)すべてのmysqldを停止する:
sudo mysqld_multi stop ( stop 1 mysqld1 instance, instance)
2)データファイルのディレクトリの準備
1 sudo mkdir -p /data/mysql/mysql03
2 sudo chown mysql:mysql /data/mysql/mysql03
3)初期化(データファイルのインストール)
sudo scripts/mysql_install_db --user=mysql --datadir=/data/mysql/mysql03
#mysqldを起動します(上記と異なる場合は、my 3.cnfを構成せずにパラメータを直接指定します.効果は同じです).
1 sudo mysqld --port=3308 --datadir=/data/mysql/mysql03 --socket=/data/mysql/mysql03.sock --user=mysql
#パスワードを変更し、mysqld_のために1番目と2番目のinstanceと同じパスワードを保持します.Multiは起動/停止可能
sudo mysqladmin -uroot password 'passwd' --socket=/data/mysql/mysql03.sock
#修正my.cnf,[mysqld 3]の内容を追加する(mysqld 1,mysqld 2を模倣すればよい)
#再起動、killが落ちる前に起動するすべてのmysqldのプロセス
sudo mysqld_multi start
#sudo netstat-nltp|grep mysqlを実行すると、3306-3308がlistenに表示されます.
同時に別々に運転する
1 mysql -uroot -p --socket=/data/mysql/mysql01.sock
2 mysql -uroot -p --socket=/data/mysql/mysql02.sock
3 mysql -uroot -p --socket=/data/mysql/mysql03.sock
それぞれのinstanceにログインできます
Linux学習入門チュートリアル:
Linux常用命令全集:アクセス