linux安裝多個mysql

2021-09-27 07:41:11 字數 4113 閱讀 3928

一、 mysql多例項即一台伺服器上執行多個mysql服務程序 ,開啟不同的服務埠,通過不同的socket 監聽不同的服務埠來提供各自的服務。

二、 mysql多例有以下幾個特點:

1、  有效利用伺服器資源:通過多例項地配置,可以將伺服器剩餘的資源充分利用起來。

3、  節約資源。

三、 安裝前準備

1、  伺服器版本:centos 7

2、  將/etc/selinux/config裡的selinux設定成:disabled

四、 安裝與配置mysql多例

1、  解壓mysql

a、解壓mysq:tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

b、移動mysql:sudo mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/mysql

2、  建立mysql例項使用者及檔案

a、sudo useradd mysql -r -s /sbin/nologin          

b、sudo mkdir -p /usr/local/mysql/mysql_files          //資料匯入匯出目錄

c、 建立多例項資料目錄:sudo mkdir -p /data/mysql_data

d、   修改mysql目錄的屬組及使用者:sudo chown root.mysql -r /usr/local/mysql

e、   修改專用目錄的屬主及屬組:sudo chown mysql.mysql -r /usr/local/mysql/mysql_files  /data/mysql_data

3、  配置mysql的配置檔案/etc/my.cnf,內容如下:

[mysqld_multi]

mysqld = /usr/local/mysql/bin/mysqld

mysqladmin = /usr/local/mysql/bin/mysqladmin

log = /tmp/mysql_multi.log

[mysqld1]

datadir = /data/mysql_data1       #設定資料目錄

socket = /tmp/mysql.sock1         #設定sock檔案存放路徑

port = 3306                      #設定監聽開放埠 

user = mysql                           #設定執行使用者

performance_schema = off          #關閉監控

innodb_buffer_pool_size = 32m         #設定innodb 快取大小

bind_address = 0.0.0.0                  #設定監聽ip位址

skip-name-resolve = 0                 #關閉dns反向解析

[mysqld2]

datadir = /data/mysql_data2

socket = /tmp/mysql.sock2

port = 3307

user = mysql

performance_schema = off

innodb_buffer_pool_size = 32m

bind_address = 0.0.0.0

skip-name-resolve = 0

[mysqld3]

datadir = /data/mysql_data3

socket = /tmp/mysql.sock3

port = 3308

user = mysql

performance_schema = off

innodb_buffer_pool_size = 32m

bind_address = 0.0.0.0

skip-name-resolve = 0

4、  初始化各個例項:初始化完後會在日誌中生成密碼,記得儲存,一會要用。

5、  開啟各例項的ssl連線

6、  複製多例項指令碼到服務管理目錄下

a、sudo cp /usr/local/mysql/support-files/mysqld_multi.server /etc/init.d/mysqld_multi

7、  給予指令碼可執行許可權:sudo chmod +x /etc/init.d/mysqld_multi

8、  加入service服務管理: sudo chkconfig --add mysqld_multi

9、  新增環境變數

a、在檔案最後面新增內容:sudo vim /etc/profile

## setup mysql』s path

export mysql_home=/usr/local/mysql

export path=$/bin:$path

b、   使修改的配置檔案生效:source /etc/profile

五、 測試例項

1、  檢視多個例項狀態:mysqld_multi report

2、  啟動各個例項 : sudo mysqld_multi start

3、  檢視例項的監聽埠:sudo ss -tulpn|grep mysqld

4、  連線例項1:

a、sudo mysql -s /tmp/mysql.sock1 -p前面生成的密碼

b、   進去後修改root密碼: set password=password('123456');

c、 使修改生效:flush privileges;

5、  另外兩個例項的操作方法與例項1一致,不再贅述。

6、  允許遠端連線mysql:

grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;

flush privileges; 

其中,root 是使用者名稱,% 表示所有人都可以訪問,password是密碼

Linux 安裝多個mysql

linux 安裝多個mysql。老規矩說下環境,linux 版本 centos 6.5 mysql 版本 mysql 5.6.12 linux glibc2.5 x86 64.tar.gz 1.首先解壓 tar zxvf mysql 5.6.12 linux glibc2.5 x86 64.tar....

linux上安裝多個mysql

編譯的時候制定路徑 configure prefix usr local mysql2 localstatedir data dbdata3 with unix socket path usr local mysql2 tmp mysql.sock with charset utf8 with ex...

linux 安裝多個mysql5 5

目標 在伺服器安裝兩個mysql5.5埠分別為3316和3326 新增mysq使用者 l使用者組 root test02 software groupadd mysql root test02 software useradd r g mysql mysql 解壓 root test02 softw...