mysql多實例安裝的評論(mysql多實例安裝的評論在哪裡)

本文目錄一覽:

一台機器上可以安裝多個mysql嗎

先說下,什麼是mysql的多實例,簡單的來說就是一台機器上安裝了多個mysql的服務,通過不同的埠(如3307,3308)來向外界提供服務,這些進程通過不同的socket來監聽不同的服務埠來提供個字的服務。

做個比喻:MySQL的多實例相當於房子的相當於多個卧室一樣,每個實例可以看做是一個卧室,整個伺服器就是一個房子,伺服器的硬體資源(cpu,mem,disk)就是共享的資源,相當於房子的衛生間,廚房,客廳一樣,是房子的公共資源,北漂蝸居在一起,可定是要公用上述的資源的。

好處:

當公司資金緊張,可以節約伺服器的資源。

壞處:

當某個服務並發很高或者有慢查詢的時候,整個實例會消耗整個伺服器更多的內存,cpu和各種資源,導致伺服器上的其他的實例提供的服務質量下降。這就相當於大家住在一個房子的不同卧室一樣,早晨起來刷牙,洗臉等,這樣衛生間就會長期佔用,其他人需要等一樣的道理。

下面記錄下裝一個3307的MySQL的實例的步驟:

一. 基本的需求和出現的問題

當MySQL出現故障或者需要加入一個新的MySQL的實例的時候,需要重新初始化MySQL的資料庫,也就是需要重新生成新的資料庫的文件。

Linux環境中,安裝編譯好MySQL之後,還是不能直接啟動MySQL,需要初始化Mysql的一些基本東西,包括:

初始化表日誌,基本的資料庫信息等一些基本的必須文件。

二.安裝的步驟:

  (1). 假設已經存在一個MySQL的實例,埠號為3306,現在需要重新添加一個埠號為3307埠的MySql的實例。

  假設MySQl安裝的路徑是/usr/local/mysql/下面,找一個數據磁碟比較的地方,比如/data1/目錄下,在這個目錄下面創建數據文件夾:

1 mkdir -p /data1/mysql_3307/data

2 chown -R mysql::mysql /data1/mysql_3307

  (2). 複製之前的MySQl的配置文件,到/data1/mysql_3307/目錄下面,並且進行編輯:

vim /data1/mysql_3307/my.cnf

基本的配置如下:

註:上面的路徑可能與上面的資料庫文件的存放路徑有點出入,但這個不是重點,可以自行替換一下!

(3).確保配置文件無誤,然後開始初始化資料庫:

/usr/local/mysql/scripts/mysql_install_db –defaults-file=/data1/mysql_3307/my.cnf –datadir=/data1/mysql/ –basedir=/usr/lcoal/mysql

完成後,新的mysql 3307資料庫已經初始化好了,如果有報錯,則看下報錯的日誌,一般是由於mysql的配置文件導致的,修改即可!

(4).啟動新的MySQL的實例服務:

在上面的初始化配置確保無誤的情況下,就可以開始啟動MySQL的又一個實例了。

1 /usr/local/mysql/bin/mysqld_safe –defaults-file=/data1/mysql_3308/my.cnf

2 檢查是否啟動:

3 ps -aux | grep mysql

4 如有3308的埠 則表示成功

(5).新的 mysql沒有設置root密碼,可以通過如下 的設置:

/usr/local/mysl/bin/mysqladmin -S /tmp/mysql_3308.sock -uroot passwd ‘new-paswd’;

如上面的步驟,即可完成一個機器上多個MySQL實例的安裝與運行。

 當然了,可以將MySQL_server這個腳本放入到/rt/rc.local這個目錄下面,隨著伺服器啟動。

(6).如果想登陸的時候,需要指定MySQL的埠號,使用-P3307來指定登錄到哪台資料庫上即可。

 總結:

自己在安裝這個資料庫的時候,以為是需要再次下載一個新的資料庫的源碼包,但是其實是不用的,使用一個MySQL的源碼包,是可以安裝多個MySQL的實例的。

如何在同一台機器上安裝多個MySQL的實例

這種架構一般用在以下三類場景

1. 備份多台 Server 的數據到一台如果按照數據切分方向來講,那就是垂直切分。比如圖 2,業務 A、B、C、D 是之前拆分好的業務,現在需要把這些拆分好的業務匯總起來備份,那這種需求也很適用於多源複製架構。實現方法我大概描述下:業務 A、B、C、D 分別位於 4 台 Server,每台 Server 分別有一個資料庫來隔離前端的業務數據,那這樣,在從庫就能把四台業務的數據全部匯總起來,而不需要做額外的操作。那沒有多源複製之前,要實現這類需求,只能在匯總機器上搭建多個 MySQL 實例,那這樣勢必會涉及到跨庫關聯的問題,不但性能急劇下降,管理多個實例也沒有單台來的容易。

2. 用來聚合前端多個 Server 的分片數據。

同樣,按照數據切分方向來講,屬於水平切分。比如圖 3,按照年份拆分好的數據,要做一個匯總數據展現,那這種架構也非常合適。實現方法稍微複雜些:比如所有 Server 共享同一資料庫和表,一般為了開發極端透明,前端配置有分庫分表的中間件,比如愛可生的 DBLE。

3. 匯總併合並多個 Server 的數據

第三類和第一種場景類似。不一樣的是不僅僅是數據需要匯總到目標端,還得合併這些數據,這就比第一種來的相對複雜些。比如圖 4,那這樣的需求,是不是也適合多源複製呢?答案是 YES。那具體怎麼做呢?

mysql多實例啟動的幾個錯誤

用MySQL實例管理器來啟動伺服器。

在這種情況下,Instance Manager的行為取決於MySQL配置文件中的選項。如果沒有配置文件,MySQL實例管理器創建mysqld實例並試圖用默認(編譯嵌入的)配置來啟動。這說明如果mysqld沒有安裝到 默認位置,IM不能猜出它的位置。如果你已經在非標準位置安裝了MySQL伺服器,你應使用配置文件。參見2.1.5節,「安裝布局」。

如果有配置文件,IM將分析配置文件搜索[mysqld]部分(例如[mysqld]、[mysqld1]、[mysqld2]等)。每個部分指定一個實例。啟動時IM將啟動所有找到的實例。IM關閉時默認停止所有實例。

請注意有一個特殊選項mysqld-path(mysqld-path = path-to-mysqld- binary),只能用IM識別。使用該變數讓IM知道mysqld二進位駐留在哪兒。你還應該為伺服器設置basedir和datadir選項。

啟用MySQL實例管理器的典型MySQL伺服器啟動/關閉循環為:

· 用/etc/init.d/mysql腳本啟動MySQL實例管理器。

· MySQL實例管理器啟動所有實例並監視它們。

· 如果某個伺服器實例失敗,MySQL實例管理器重啟它。

· 如果MySQL實例管理器被關閉(例如用/etc/init.d/mysql stop命令),所有實例被MySQL實例管理器關閉。

什麼是mysql多實例,如何配置mysql多實例

應該是linux系統和win系統軟體安裝方式不同。linux一般源碼安裝需解壓zip包,廠商預先編譯做好的是二進位包。win msi是編譯好的,可直接安裝。

如何在一台window機器下安裝多個MYSQL實例

首先可以去下載mysql的安裝文件,或者綠色免安裝的文件,直接下載進行安裝

安裝完畢之後,在安裝路徑下,找到mysql的目錄,進行複製,比如複製多份,兩份,分別命名MySql2 Mysql3

之後進Mysql2 Mysql3的修改,我們設定Mysql這個目錄作為master,需要對它的my.ini配置文件進行修改,添加如下:修改埠號和base目錄和數據目錄

之後開始註冊服務,進入到bin目錄下執行

mysqld install mysql2 –defaults-file=”E:\phpStudy\MySQL2\my.ini”

執行完畢之後,我們就可以看到服務註冊了

之後進入windows系統下服務目錄下,我們就能看到mysql2這個服務,在這裡我們需要將mysql2這個服務打開,設置為已啟動狀態

之後我們在控制台,執行mysql -uroot -p -P3307,輸入密碼就可以進入mysql,其他的依次類推就可以了,實現多個mysql安裝

求助:mysql 多個埠配置/多實例安裝

給你個linux的配置 my.cnf的內容

[mysqld_multi]

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

[client]

socket = /tmp/mysql.sock

default-character-set=utf8

[mysqld1]

datadir=/usr/local/mysql/data

basedir=/usr/local/mysql

character-set-server=utf8

default-storage-engine=innodb

port = 3306

table_open_cache = 64

innodb_data_home_dir = /usr/local/mysql/data

innodb_data_file_path = ibdata1:10M:autoextend

innodb_log_group_home_dir = /usr/local/mysql/data

innodb_buffer_pool_size = 50M

innodb_additional_mem_pool_size = 2M

innodb_log_file_size = 5M

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 50

[mysqld2]

datadir=/usr/local/mysql/data1

basedir=/usr/local/mysql

character-set-server=utf8

default-storage-engine=innodb

port = 3307

table_open_cache = 64

innodb_data_home_dir = /usr/local/mysql/data1

innodb_data_file_path = ibdata1:10M:autoextend

innodb_log_group_home_dir = /usr/local/mysql/data1

innodb_buffer_pool_size = 50M

innodb_additional_mem_pool_size = 2M

innodb_log_file_size = 5M

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 50

—-【mysqld】中的配置和單實例的mysqld配置一致,多實例中每個[mysqld]需要有不同的埠號,sock,datadir

然後是啟動:/usr/local/mysql/bin/mysqld_mulit –defaults-extra-file=/etc/my.cnf start 1

—-這裡的數字1 對應[mysqld1] ,關閉就是 把start 改成stop,啟動所有就是 start all

其他命令你自己網上查下吧

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/236330.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 11:59
下一篇 2024-12-12 11:59

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python生成隨機數的應用和實例

    本文將向您介紹如何使用Python生成50個60到100之間的隨機數,並將列舉使用隨機數的幾個實際應用場景。 一、生成隨機數的代碼示例 import random # 生成50個6…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • 如何在dolphinscheduler中運行chunjun任務實例

    本文將從多個方面對dolphinscheduler運行chunjun任務實例進行詳細的闡述,包括準備工作、chunjun任務配置、運行結果等方面。 一、準備工作 在運行chunju…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • CentOS 7在線安裝MySQL 8

    在本文中,我們將介紹如何在CentOS 7操作系統中在線安裝MySQL 8。我們會從安裝環境的準備開始,到安裝MySQL 8的過程進行詳細的闡述。 一、環境準備 在進行MySQL …

    編程 2025-04-27
  • Python存為JSON的方法及實例

    本文將從以下多個方面對Python存為JSON做詳細的闡述。 一、JSON簡介 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易於人閱…

    編程 2025-04-27
  • 如何使用MySQL欄位去重

    本文將從多個方面為您詳細介紹如何使用MySQL欄位去重並給出相應的代碼示例。 一、SELECT DISTINCT語句去重 MySQL提供了SELECT DISTINCT語句,通過在…

    編程 2025-04-27

發表回復

登錄後才能評論