本文目錄一覽:
如何在同一台機器上安裝多個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_multi在一台主機上啟動多實例數據庫,用一個配置文件即可,要指定以下內容(不同實例的配置,根據自己的實際情況配置):
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe #根據自己的mysql目錄配置
mysqladmin = /usr/local/mysql/bin/mysqladmin
[mysqld1]
port = 3306
socket = /tmp/mysql3306.sock
basedir=/usr/local/mysql
datadir=/mysqldata/data3306
[mysqld2]
port = 3307
socket = /tmp/mysql3307.sock
basedir=/usr/local/mysql
datadir=/mysqldata/data3307
之後再初始化數據庫的目錄:
cd /usr/local/mysql/;./scripts/mysql_install_db –datadir=/mysqldata/data3307/ –user=mysql
cd /usr/local/mysql/;./scripts/mysql_install_db –datadir=/mysqldata/data3306/ –user=mysql
再啟動多實例:
/usr/local/mysql/bin/mysqld_multi start 1-2
如何登陸:
本地登陸指定套接字文件即可
mysql -S /tmp/mysql3306.sock
如果自己還玩兒不會加這個群問371561513
如何在一台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安裝
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/233882.html