CentOS6.5バイナリマルチインスタンスインストールmysql-5.6.27

5987 ワード

MySQLマルチインスタンスとは、1台のマシン上で複数の異なるサービスポート(例えば、3306307308)を開き、複数のMySQLサービスプロセスを実行し、異なるsocketを介して異なるサービスポートを傍受することによって、それぞれのサービスを提供することである.各インスタンス間は互いに独立しており,各インスタンスのdatadir,port,socket,pidは異なる.
1、すべてのインストールファイル、プロファイル、データディレクトリをすべて/mydata/dataディレクトリに保存し、今後の迅速な移行、全体的なバックアップ、迅速な複製を実現するのに便利である.
2、1台のサーバーに2つのMySQLインスタンスを配置し、それぞれ3306、3307ポートにバインドする.
3、各インスタンスは単独でmy.cnfプロファイル:
datadir:    /mydata/data/3306
            /mydata/data/3307
my.cnf:    /mydata/data/3306/my.cnf
           /mydata/data/3307/my.cnf
4、MySQLのインストール(汎用バイナリ方式)
インストールの開始について説明します.
1:ユーザーとグループの追加
[root@CentOS mysql]# groupadd mysql
[root@CentOS mysql]# useradd -r -g mysql mysql

2:mysqlを/usr/local/mysqlにインストール
[root@CentOS ~]# cd /tmp
[root@CentOS tmp]# ll mysql-5.6.27-linux-glibc2.5-i686.tar.gz 
-rw-r--r--. 1 root root 304056226 11  17 04:12 mysql-5.6.27-linux-glibc2.5-i686.tar.gz
[root@CentOS tmp]# tar zxf mysql-5.6.27-linux-glibc2.5-i686.tar.gz -C /usr/local/
[root@CentOS tmp]# cd /usr/local/
[root@CentOS local]# mv mysql-5.6.27-linux-glibc2.5-i686/ mysql
[root@CentOS local]# chown -R mysql:mysql mysql/

3:MySQLマルチインスタンスのデータディレクトリの作成
[root@CentOS local]# mkdir /mydata/data/{3306,3307}/data -p
[root@CentOS mysql]# chown -R mysql:mysql /mydata
[root@CentOS data]# tree /mydata/data/
/mydata/data/
├── 3306
│  └── data
└── 3307
    └── data

4 directories, 0 files

4:プロファイルの提供と編集
[root@CentOS data]# cp /usr/local/mysql/support-files/my-default.cnf /mydata/data/3306/my.cnf
[root@CentOS data]# cp /usr/local/mysql/support-files/my-default.cnf /mydata/data/3307/my.cnf
[root@CentOS data]# tree /mydata/data/
/mydata/data/
├── 3306
│   ├── data
│   └── my.cnf
└── 3307
    ├── data
    └── my.cnf

4 directories, 2 files/mydata/data/3306/my.cnf
#ここは実験環境なので簡単に配置できます.皆様、実際のニーズに合わせて調整してください
[root@CentOS 3306]# vi /mydata/data/3306/my.cnf
[client]
password        = 123456
port            = 3306
socket          = /mydata/data/3306/mysql_3306.sock
default-character-set=utf8

[mysqld]
port            = 3306
socket          = /mydata/data/3306/mysql_3306.sock
pid-file        = /mydata/data/3306/mysql.pid
user            = mysql
basedir        = /usr/local/mysql
datadir        = /mydata/data/3306
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
lower_case_table_names=1
max_connections=1000

[root@CentOS 3306]# vi /mydata/data/3307/my.cnf
[client]
password        = 123456
port            = 3307
socket          = /mydata/data/3307/mysql_3307.sock
default-character-set=utf8

[mysqld]
port            = 3307
socket          = /mydata/data/3307/mysql_3307.sock
pid-file        = /mydata/data/3307/mysql.pid
user            = mysql
basedir        = /usr/local/mysql
datadir        = /mydata/data/3307
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
lower_case_table_names=1
max_connections=1000

5.データディレクトリの所有者、グループの変更
[root@CentOS/]# chown -R mysql:mysql/mydata/
6、環境変数の追加
[root@CentOS bin]# vi/etc/profile
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
[root@CentOS etc]# source/etc/profile
7、初期化
[root@CentOS/]#/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/mydata/data/3306 --user=mysql
[root@CentOS/]#/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/mydata/data/3307 --user=mysql
[root@CentOS/]# chown -R mysql:mysql/mydata/
8、インスタンスの起動/停止
[root@CentOS 3307]# netstat -tulpn | grep -i mysql
[root@CentOS 3307]# mysqld_safe  --defaults-file=/mydata/data/3306/my.cnf 2>&1 > /dev/null &
[1] 2026
[root@CentOS 3307]# mysqld_safe  --defaults-file=/mydata/data/3307/my.cnf 2>&1 > /dev/null &
[2] 2251
[root@CentOS 3307]# netstat -tulpn | grep -i mysql
tcp        0      0 :::3306                     :::*                        LISTEN      2229/mysqld         
tcp        0      0 :::3307                     :::*                        LISTEN      2454/mysqld 

#     ,  mysql root         ,        Enter  
[root@CentOS 3306]# mysqladmin -uroot -p -S /mydata/data/3306/mysql_3306.sock shutdown
Enter password: 
[1]-  Done                    mysqld_safe --defaults-file=/mydata/data/3306/my.cnf &>/dev/null  (wd: /mydata/data/3307)
(wd now: /mydata/data/3306)
[root@CentOS 3306]# mysqladmin -uroot -p -S /mydata/data/3307/mysql_3307.sock shutdown
Enter password: 
[2]+  Done                    mysqld_safe --defaults-file=/mydata/data/3307/my.cnf &>/dev/null  (wd: /mydata/data/3307)
(wd now: /mydata/data/3306)
[root@CentOS 3306]# netstat -tulpn | grep -i mysql

9、接続ログインインスタンスのテスト
#どのソケットで接続するかを指定する必要があります
#注意:mysqlのrootユーザーはパスワードを設定していないので、直接ログインできます.
[root@CentOS /]# mysql -uroot -p -S /mydata/data/3306/mysql_3306.sock
mysql> create database d3306;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| d3306              |
| data               |
| mysql              |
| performance_schema |
| test               |
+--------------------+
6 rows in set (0.02 sec)

mysql> exit;
[root@CentOS /]# mysql -uroot -p -S /mydata/data/3307/mysql_3307.sock
mysql> create database d3307;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| d3307              |
| data               |
| mysql              |
| performance_schema |
| test               |
+--------------------+
6 rows in set (0.01 sec)

mysql> system date
2015  11  19      05:00:48 CST

参照先:
http://www.linuxidc.com/Linux/2014-07/104508.htm