centos 安裝多例項資料庫

2022-08-17 04:24:14 字數 4529 閱讀 9618

② 編寫安裝指令碼

#!/bin/bash

basemysqldir=/usr/local/tarspkg/mysql-5.7.22-linux-glibc2.12-x86_64

yuminstall mysql-devel

## 建立 mysql 軟鏈結

ln -s $ /usr/local/mysql

##建立 mysql 使用者

useradd -r -s /sbin/nologin mysql

## 在 mysql 二進位製包目錄中建立 mysql-files 目錄

mkdir -v /usr/local/mysql/mysql-files

## 建立多例項資料目錄

mkdir -vp /data/mysql_data

## 修改 mysql 二進位製包目錄的所屬使用者與所屬組

chown root.mysql -r $

## 修改 mysql 多例項資料目錄與 資料匯入/匯出專放目錄的所屬使用者與所屬組

chown mysql.mysql -r /usr/local/mysql/mysql-files /data/mysql_data

## 初始化各個例項 [ 初始化完成後會自帶隨機密碼在輸出日誌中 ]

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data1

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data2

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data3

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data4

## 各例項開啟 ssl 連線

/usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data1

/usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data2

/usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data3

/usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data4

## 新增mysql 到path

echo

"path=/usr/local/mysql/bin:$path

" >> /etc/profile

source /etc/profile

## 複製多例項指令碼到服務管理目錄下 [ /etc/init.d/]

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

## 新增指令碼執行許可權

chmod +x /etc/init.d/mysqld_multi

## 新增進service服務管理

chkconfig --add mysqld_multi

export path=/usr/local/mysql/bin:$path

## 查個多例項狀態

/etc/init.d/mysqld_multi report

③ 將指令碼和安裝包放置同一目錄

④ 編寫my.cnf檔案並放置在/etc/ 目錄下

[mysqld_multi]

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

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

log = /tmp/mysql_multi.log

[mysqld1]

federated

# 設定資料目錄 [多例項中一定要不同]

datadir = /data/mysql_data1

# 設定sock存放檔名 [多例項中一定要不同]

socket = /tmp/mysql.sock1

# 設定監聽開放埠 [多例項中一定要不同]

port = 3306

# 設定執行使用者

user =mysql

# 關閉監控

performance_schema =off

# 設定innodb 快取大小

innodb_buffer_pool_size =32m

# 設定監聽ip位址

bind_address = 0.0.0.0

# 關閉dns 反向解析

skip-name-resolve = 0

max_connections=1000

sql_mode=no_engine_substitution,strict_trans_tables

explicit_defaults_for_timestamp=true

tmpdir=/data/mysql_data1

character_set_server =utf8mb4

[mysqld2]

datadir = /data/mysql_data2

socket = /tmp/mysql.sock2

tmpdir=/data/mysql_data2

port = 3307

user =mysql

performance_schema =off

innodb_buffer_pool_size =32m

bind_address = 0.0.0.0

skip-name-resolve = 0

sql_mode=no_engine_substitution,strict_trans_tables

explicit_defaults_for_timestamp=true

lower_case_table_names = 1

[mysqld3]

datadir = /data/mysql_data3

socket = /tmp/mysql.sock3

tmpdir=/data/mysql_data3

port = 3308

user =mysql

performance_schema =off

innodb_buffer_pool_size =32m

bind_address = 0.0.0.0

skip-name-resolve = 0

sql_mode=no_engine_substitution,strict_trans_tables

explicit_defaults_for_timestamp=true

lower_case_table_names = 1

[mysqld4]

datadir = /data/mysql_data4

socket = /tmp/mysql.sock4

tmpdir=/data/mysql_data4

port = 3309

user =mysql

performance_schema =off

innodb_buffer_pool_size =32m

bind_address = 0.0.0.0

skip-name-resolve = 0

sql_mode=no_engine_substitution,strict_trans_tables

explicit_defaults_for_timestamp=true

⑤ 賦予指令碼執行許可權並執行

執行結果:

⑥ 修改預設密碼

記得修改每乙個預設密碼哦

centos 安裝多例項資料庫

centos 安裝多例項資料庫 2019年11月19日 19 05 一 安裝資料庫,可以編譯安裝,二進位制安裝,yum安裝等 二 準備三個例項目錄 mkdir pv mysql chown r mysql.mysql mysql 三 生成資料庫檔案 如果是二進位制安裝,則需要確定mysql inst...

例項 資料庫

例項 就是管理相關庫的記憶體結構的名字 由sga pga 伺服器程序 使用者程序 後台程序等組成 資料庫 就是實際的磁碟上的文件 資料文件 日誌文件 控制文件等 負責儲存資料,但由對應的例項來操作他的資料 服務名 就是對外公開的名稱,為網路監聽服務 其實,在我們傳統的概念裡,資料庫是個統稱的名字,在...

例項 資料庫

例項 就是管理相關庫的記憶體結構的名字 由sga pga 伺服器程序 使用者程序 後台程序等組成 資料庫 就是實際的磁碟上的文件 資料文件 日誌文件 控制文件等 負責儲存資料,但由對應的例項來操作他的資料 服務名 就是對外公開的名稱,為網路監聽服務 其實,在我們傳統的概念裡,資料庫是個統稱的名字,在...