本文目錄一覽:
- 1、如何在一台伺服器上安裝兩個mysql或者更多
- 2、一台機器上可以安裝多個mysql嗎
- 3、如何在同一台機器上安裝多個MySQL的實例
- 4、怎樣在linux上安裝2個MySQL
- 5、可以同時安裝兩個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的多實例,簡單的來說就是一台機器上安裝了多個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。那具體怎麼做呢?
怎樣在linux上安裝2個MySQL
我想沒有必要安裝多個mysql
只需要在既存的mysql中新建一個新的db實例
然後再 mysqlmanager 配置文件中 加入關於新實例的
port
socket
等其他信息就可以了
具體設置你自己查查看吧
另外最好不用root 用戶登陸和啟動服務
新建一個用戶比較好
可以同時安裝兩個mysql資料庫嗎?
可以,要使用不同的埠.因為mysql比較靈活,可以有多個實例,多個用戶,創建多個資料庫,所以一般沒必要安裝多個
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/291902.html