mysql架構篇之多例項

2022-09-14 23:09:27 字數 2032 閱讀 5311

概念了解

什麼是多例項?

在一台物理主機上允許多個資料庫服務

為什麼要使用多例項

節約成本

提高硬體利用率

由於此服務於版本有關,此次選擇了mysql-5.7.20版本的資料庫

mysql-5.7.20

55  yum -y install libaio  

安裝環境包

56useradd mysql

建立乙個mysql使用者

58 mv mysql-5.7.20-linux-glibc2.12-x86_64/ /usr/local/mysql

將目錄內的東西移動到/usr/local/mysql目錄下

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

配置環境變數

61 vim /etc/bashrc

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

在檔案中新增環境變數

主配置檔案:

因是例項,所有每個例項都要有獨立的:資料庫目錄、埠、socket檔案、pid檔案、錯誤日誌檔案

/etc/my.cnf    //如若存在這個檔案,直接刪掉。然後重新建立即可

[mysqld_multi]            //啟用多例項

mysqld=/usr/local/mysql/bin/mysqld_safe  //指定程序檔案路徑

mysqladmin=/usr/local/mysql/bin/mysqladmin  //指定管理命令路徑

user=root                      //指定程序使用者

[mysql1]          //例項京城名稱

port = 3307        //埠號

datadir = /dir1      //資料庫主目錄,需自己建立

socket = /dir1/mysql.sock    //指定sock檔案的路徑和名稱

pid-file = /dir1/mysqld.pid    //程序pid號檔案位置

log-error = /dir1/mysqld.err    //錯誤日誌位置

[mysql2]

port = 3308

datadir = /dir2

socket = /dir2/mysql.sock

pid-file = /dir2/mysqld.pid

log-error = /dir2/mysqld.err

管理多例項

停止服務(首次啟動服務會建立root登陸初始密碼)

mysqld_multi  start  1    //啟動例項編號

停止服務

mysqld_multi  --user=root  --password=密碼   stop   例項編號

mysql服務自己連線自己的時候,通過socket檔案建立連線

啟動mysqld服務時 會自動建立socket檔案,停止mysqld服務時,會自動刪除檔案

[root@host58 ~]# mysqld_multi start 1    //所以要認為的啟動停止的服務

如若修好壞掉的伺服器後,先停止管理服務

再管理服務檔案內寫入修復的例項伺服器即可

再新增例項使其執行並儲存資料

在主配置檔案裡新增如下內容

]# vim /etc/my.cnf

[mysqld3]

datadir=/dir3

port=3309

log-error=/dir3/mysqld3.err

pid-file=/dir3/mysqld3.pid

socket=/dir3/mysqld3.sock

例項啟動失敗的配置步驟:

1 檢查/etc/my.cnf檔案中 例項配置

2 pkill -9 mysqld

3 rm -rf 例項對應的資料庫目錄

4 再次執行啟動例項的命令 mysqld_multi start 例項編號

MySQL(架構) 先導篇

評價網際網路產品,通常會有一項重要指標,那就是使用者量,隨著物聯網的發展,越來越多的資訊被記錄到網路中。這對資料庫的效能就有了更高的要求,不論哪種資料庫,都不可能無限量的儲存資料,對於 mysql 來說,一張表的資料量最好控制在 3000 萬以下。如果資料量達到了億級,增刪改查都會變得很慢。如果說 ...

入門MySQL 架構篇

前言 上篇文章我們介紹了入門mysql的基本概念,看完上篇文章,相信你應該了解mysql的前世今生了吧。本篇文章將帶你從架構體系來學習mysql。我認為學習mysql架構體系應該是入門階段必須的,雖然可能看不太明白,暫時也用不到,但是我們心中要有這些概念,了解結構體系對於後續的學習是很有幫助的。my...

C 之多型篇

我的一點小想法 virtual只需要加在父類裡邊 析構函式和同名成員函式 就好,不過在子類的同名函式加上 virtual 是為了養成好的 書寫習慣。析構函式前邊加是為了防止沒有釋放子類物件的記憶體導致記憶體洩露,同名成員函式前加是為了父類例項化的物件指標能夠指向子類資料成員。這樣基本包含了所有的點了...