部署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是一個關係型數據庫管理系統,由瑞典MySQLAB公司開發,屬於Oracle旗下產品。多實例部署是在同一主機上,同時開啟多個不同的服務器端口(如:3306、3307),同時運行多個MySQL服務進程,這些服務通過不同的socket監聽不同的服務器端口來提供服務。MySQL是最流行的關係型數據庫管理系統之一,在WEB應用方面,MySQL是最好的應用軟件之一。

rpm包安裝的mysql怎樣添加多實例

rpm包安裝的mysql怎樣添加多實例

1、yum安裝mysql:

[root@localhost Desktop]# cat /etc/yum.repos.d/rhel-local.repo

[rhel-source]

name=Red Hat Enterprise Linux $releasever – $basearch – Source

baseurl=file://”/media/RHEL_6.1 i386 Disc 1″/Server

enabled=1

gpgcheck=0

gpgkey=

[root@localhost Desktop]# yum install mysql

Loaded plugins: product-id, refresh-packagekit, subscription-manager

Updating Red Hat repositories.

rhel-source | 4.0 kB 00:00 …

rhel-source/primary_db | 2.4 MB 00:00 …

Setting up Install Process

Resolving Dependencies

— Running transaction check

— Package mysql.i686 0:5.1.52-1.el6_0.1 will be installed

— Finished Dependency Resolution

Dependencies Resolved

================================================================================

Package Arch Version Repository Size

================================================================================

Installing:

mysql i686 5.1.52-1.el6_0.1 rhel-source 898 k

Transaction Summary

================================================================================

Install 1 Package(s)

Total download size: 898 k

Installed size: 2.3 M

Is this ok [y/N]: y

Downloading Packages:

Running rpm_check_debug

Running Transaction Test

Transaction Test Succeeded

Running Transaction

Warning: RPMDB altered outside of yum.

Installing : mysql-5.1.52-1.el6_0.1.i686 1/1

duration: 712(ms)

Installed products updated.

Installed:

mysql.i686 0:5.1.52-1.el6_0.1

Complete!

[root@localhost Desktop]#

如何在一台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如何創建多個實例,求步驟,謝謝,急求

大多情況下,需要可靠而有效地克隆 MySQL 實例數據。這包括 MySQL 高可用的解決方案,其中需要在將實例加入組複製集群之前配置實例,或者在經典複製模型中將其添加為 Slave。

為複製拓撲而創建 MySQL 副本一直很麻煩。涉及的步驟很多,首先要備份 MySQL 服務器,通過網絡將備份傳輸到我們想要添加到複製集的新 MySQL 節點,然後在該節點上恢復備份並手動啟動 MySQL 服務器。為了高可用,最好還要將其正確設置備份的 GTID,並啟動並運行群集。涉及的手動步驟數量過多不利於高可用。CLONE 插件解決了這個問題並簡化了副本配置。使您可以使用 MySQL 客戶端(和 SQL 命令)來配置新節點並在發生時觀察克隆進度。無需手動處理多個步驟並維護自己的基礎架構來配置新的 MySQL 節點。

MySQL 8.0.17 引入了 CLONE SQL 語句,使當前的 MySQL 服務器成為另一個運行在不同節點的 MySQL 服務器的“克隆”。我們將執行 clone 語句的服務器實例稱為“受體”。克隆的源服務器實例稱為“供體”。供體克隆以一致的快照存儲在 InnoDB 存儲引擎中的所有數據和元數據,以替換受體中的數據。

成功執行 CLONE SQL 語句後,將自動重新啟動受體服務器。重新啟動涉及恢復克隆的快照數據,就像用老方法複製數據一樣。恢復完成後,受體就是供體的克隆版,隨時可以使用!

這裡有一些關於克隆過程的重要注意事項。

不克隆 MySQL 配置參數,並且受體保留所有原始配置參數,如克隆之前。這樣做是因為許多配置可能特定於節點(例如 PORT),因此保留它們似乎是一個不錯的選擇。另一方面,一些存儲配置確實需要在供體和受體之間匹配(例如 innodbpagesize),如果這樣的配置參數不匹配,CLONE 將報告錯誤。

CLONE 插件不會克隆二進制日誌。

CLONE 插件目前僅支持 InnoDB 存儲引擎。在其他存儲引擎(如 MyISAM 和 CSV)中創建的表將被克隆為空表。克隆基礎架構的設計允許克隆 MySQL 支持的任何存儲引擎。但是,只有 InnoDB 序列化和反序列化方法已經實現並經過測試。

克隆會阻止供體中的所有並發 DDL。

需要注意的事實是受體放棄所有數據以及任何二進制日誌,以便成為供體實例的克隆。在執行 CLONE 之前,如果認為有必要,需要備份當前受體數據。

Linux下安裝Mysql多實例作為數據備份服務器實現多主到一從多實例的備份

1、從MYSQL官方下載MYSQL的源碼版本【一定要是源碼版本】

2、按以下代碼鍵入LINUX命令行

複製代碼

代碼如下:

[注]

添加mysql組和用戶

#groupadd

mysql

#useradd

-g

mysql

mysql

[注]

解包到/usr/local

#

tar

-xzf

mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz

-C

/usr/local

[注]

建立軟鏈接,方便操作(此處給此連接命名為mysql001,也可為其它的名字)

#cd

/usr/local

#ln

-s

mysql-standard-5.0.15-linux-i686-glibc23

mysql001

#cd

mysql001

#scripts/mysql_install_db

#chown

-R

root

.

#chown

-R

mysql

data

#chgrp

-R

mysql

.

[注]

複製data,以供單版本多實例分配

#cp

-a

data

data_1

#cp

-a

data

data_2

[注]

添加多實例配置文件

#cd

/usr/local/mysql001/bin

#cat

my_multi.cnf

[注]

以下是my_multi.cnf的配置信息,可依此複製

[mysqld_multi]

mysqld

=

/usr/local/mysql001/bin/mysqld_safe

mysqladmin

=

/usr/local/mysql001/bin/mysqladmin

user

=

root

password

=

root

[mysqld1]

socket

=

/tmp/mysql_001.sock

port

=

3301

pid-file

=

/usr/local/mysql001/data_1/hostname.pid

datadir

=

/usr/local/mysql001/data_1

log

=

/usr/local/mysql001/data_1/hostname.log

user

=

mysql

#

slave

setting

server-id

=

2

master-host

=

192.168.1.85

master-port

=

3306

master-user

=

backup

master-password

=

123456

replicate-do-db

=

gs_database

replicate-do-db

=

gs_log

master-connect-retry=30

[mysqld2]

socket

=

/tmp/mysql_5_2.sock

port

=

3302

pid-file

=

/usr/local/mysql001/data_2/hostname.pid

datadir

=

/usr/local/mysql001/data_2

log

=

/usr/local/mysql001/data_2/hostname.log

user

=

mysql

#

slave

setting

server-id

=

3

master-host

=

192.168.1.69

master-port

=

3306

master-user

=

backup

master-password

=

123

replicate-do-db

=

gs_databaes

replicate-do-db

=

gs_log

master-connect-retry=30

CTRL+D退出。

複製代碼

代碼如下:

#vi

/etc/profile

#

添加系統環境變量。

export

MYSQL_HOME=/usr/local/mysql001/bin

export

PATH=$PATH:$MYSQL_HOME

重啟系統讓環境變量生效。

添加至開機自動啟動【此處可不添加,依個人情況決定是否需要設置開機自動啟動】

複製代碼

代碼如下:

vi

/etc/rc.local

#

添加

mysqld_multi

–defaults-extra-file=/usr/local/src/mysql_dir/bin/my_multi.cnf

start

1,2

3、其它一些技巧

#

訪問某個實例:

mysql

-u

root

-S

/tmp/mysql_5_1.sock

-p

#

設置各個實例密碼:

mysqladmin

-u

root

password

‘root’

-S

/tmp/mysql_5_1.sock

#

手動啟動各個實例:

mysqld_multi

–defaults-extra-file=/usr/local/src/mysql_dir/bin/my_multi.cnf

start

1,2

#

停止各個實例:

mysqld_multi

–defaults-extra-file=/usr/local/src/mysql_dir/bin/my_multi.cnf

stop

1,2

#

參考文章

由於第一次接觸LINUX,花了三天時間才算有所成就,發出來希望可以給大夥帶來方便

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

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

相關推薦

  • 如何修改mysql的端口號

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

    編程 2025-04-29
  • 掌握magic-api item.import,為你的項目注入靈魂

    你是否曾經想要導入一個模塊,但卻不知道如何實現?又或者,你是否在使用magic-api時遇到了無法導入的問題?那麼,你來到了正確的地方。在本文中,我們將詳細闡述magic-api的…

    編程 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
  • GitHub好玩的開源項目

    本文旨在介紹GitHub上一些好玩的開源項目,並提供代碼示例供讀者參考和學習。 一、Emoji列表 GitHub上有一份完整的Emoji列表,它支持各種平台和設備,方便用戶在Git…

    編程 2025-04-28
  • 如何將Java項目分成Modules並使用Git進行版本控制

    本文將向您展示如何將Java項目分成模塊,並使用Git對它們進行版本控制。分割Java項目可以使其更容易維護和拓展。Git版本控制還可以讓您跟蹤項目的發展並協作開發。 一、為什麼要…

    編程 2025-04-28
  • Django框架:從簡介到項目實戰

    本文將從Django的介紹,以及如何搭建Django環境開始,逐步深入到Django模型、視圖、模板、表單,最後通過一個小型項目實戰,進行綜合性的應用,讓讀者獲得更深入的學習。 一…

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

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

    編程 2025-04-28
  • IIS部署Python項目

    本文將從多個方面詳細闡述在IIS上如何部署Python項目。包括安裝IIS、安裝Python、配置IIS、編寫和部署Python代碼等內容。 一、安裝IIS和Python 在開始進…

    編程 2025-04-28

發表回復

登錄後才能評論