真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql怎么支持多機(jī) 安裝多個(gè)mysql

在一臺(tái)機(jī)器上,怎么安裝多個(gè)mysql數(shù)據(jù)庫(kù),怎樣開啟多個(gè)mysql服務(wù),。在線等,

這種架構(gòu)一般用在以下三類場(chǎng)景

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供孟州網(wǎng)站建設(shè)、孟州做網(wǎng)站、孟州網(wǎng)站設(shè)計(jì)、孟州網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、孟州企業(yè)網(wǎng)站模板建站服務(wù),十年孟州做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

1. 備份多臺(tái) Server 的數(shù)據(jù)到一臺(tái)如果按照數(shù)據(jù)切分方向來講,那就是垂直切分。比如圖 2,業(yè)務(wù) A、B、C、D 是之前拆分好的業(yè)務(wù),現(xiàn)在需要把這些拆分好的業(yè)務(wù)匯總起來備份,那這種需求也很適用于多源復(fù)制架構(gòu)。實(shí)現(xiàn)方法我大概描述下:業(yè)務(wù) A、B、C、D 分別位于 4 臺(tái) Server,每臺(tái) Server 分別有一個(gè)數(shù)據(jù)庫(kù)來隔離前端的業(yè)務(wù)數(shù)據(jù),那這樣,在從庫(kù)就能把四臺(tái)業(yè)務(wù)的數(shù)據(jù)全部匯總起來,而不需要做額外的操作。那沒有多源復(fù)制之前,要實(shí)現(xiàn)這類需求,只能在匯總機(jī)器上搭建多個(gè) MySQL 實(shí)例,那這樣勢(shì)必會(huì)涉及到跨庫(kù)關(guān)聯(lián)的問題,不但性能急劇下降,管理多個(gè)實(shí)例也沒有單臺(tái)來的容易。

2. 用來聚合前端多個(gè) Server 的分片數(shù)據(jù)。

同樣,按照數(shù)據(jù)切分方向來講,屬于水平切分。比如圖 3,按照年份拆分好的數(shù)據(jù),要做一個(gè)匯總數(shù)據(jù)展現(xiàn),那這種架構(gòu)也非常合適。實(shí)現(xiàn)方法稍微復(fù)雜些:比如所有 Server 共享同一數(shù)據(jù)庫(kù)和表,一般為了開發(fā)極端透明,前端配置有分庫(kù)分表的中間件,比如愛可生的 DBLE。

3. 匯總并合并多個(gè) Server 的數(shù)據(jù)

第三類和第一種場(chǎng)景類似。不一樣的是不僅僅是數(shù)據(jù)需要匯總到目標(biāo)端,還得合并這些數(shù)據(jù),這就比第一種來的相對(duì)復(fù)雜些。比如圖 4,那這樣的需求,是不是也適合多源復(fù)制呢?答案是 YES。那具體怎么做呢?

如何在一臺(tái)Windows主機(jī)上運(yùn)行多個(gè)MySQL服務(wù)

1、首先要在本地建立兩個(gè)mysql服務(wù)(參考這里),指定不同的端口。我這里一個(gè)主(3306),一個(gè)從(3307)。2、然后修改主配置文件:

[mysqld]

server-id = 1

binlog-do-db=test #要同步的數(shù)據(jù)庫(kù)

#binlog-ignore-db=mysql #不同步的數(shù)據(jù)庫(kù),如果指定了binlog-do-db這里應(yīng)該可以不用指定的

log-bin=mysql-bin #要生成的二進(jìn)制日記文件名稱

修改從配置文件:

[mysqld]

server-id = 2

log-bin = mysql-bin

replicate-do-db=test

3、在主庫(kù)添加一個(gè)用戶 repl 并指定replication權(quán)限

create user 'repl'@'127.0.0.1' identified by 'asdf';

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'127.0.0.1'; -- --這里我指定數(shù)據(jù)庫(kù)(test.*)時(shí)報(bào)錯(cuò),而指定全庫(kù)(*.*)時(shí)會(huì)成功。

4、保持主從mysql的test數(shù)據(jù)庫(kù)初始狀態(tài)一致。

一般是先將所有的表加讀鎖,然后copy磁盤上的數(shù)據(jù)庫(kù)文件夾。我這里直接停止服務(wù),然后將數(shù)據(jù)文件拷貝過去。

5、在主數(shù)據(jù)庫(kù)里面運(yùn)行show master status;記下file和position字段對(duì)應(yīng)的參數(shù)。

MySQL數(shù)據(jù)庫(kù)如何實(shí)現(xiàn)雙機(jī)熱備的配置成功方案

1.mysql數(shù)據(jù)庫(kù)沒有增量備份的機(jī)制,當(dāng)數(shù)據(jù)量太大的時(shí)候備份是一個(gè)很大的問題。還好mysql數(shù)據(jù)庫(kù)提供了一種主從備份的機(jī)制,其實(shí)就是把主數(shù)據(jù)庫(kù)的所有的數(shù)據(jù)同時(shí)寫到備份數(shù)據(jù)庫(kù)中。實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)的熱備份。

2.要想實(shí)現(xiàn)雙機(jī)的熱備首先要了解主從數(shù)據(jù)庫(kù)服務(wù)器的版本的需求。要實(shí)現(xiàn)熱備mysql的版本都要高于3.2,還有一個(gè)基本的原則就是作為從數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)版本可以高于主服務(wù)器數(shù)據(jù)庫(kù)的版本,但是不可以低于主服務(wù)器的數(shù)據(jù)庫(kù)版本。

3.設(shè)置主數(shù)據(jù)庫(kù)服務(wù)器:

a.首先查看主服務(wù)器的版本是否是支持熱備的版本。然后查看my.cnf(類unix)或者my.ini(windows)中mysqld配置塊的配置有沒有l(wèi)og-bin(記錄數(shù)據(jù)庫(kù)更改日志),因?yàn)閙ysql的復(fù)制機(jī)制是基于日志的復(fù)制機(jī)制,所以主服務(wù)器一定要支持更改日志才行。然后設(shè)置要寫入日志的數(shù)據(jù)庫(kù)或者不要寫入日志的數(shù)據(jù)庫(kù)。這樣只有您感興趣的數(shù)據(jù)庫(kù)的更改才寫入到數(shù)據(jù)庫(kù)的日志中。

server-id=1 //數(shù)據(jù)庫(kù)的id這個(gè)應(yīng)該默認(rèn)是1就不用改動(dòng)

log-bin=log_name //日志文件的名稱,這里可以制定日志到別的目錄 如果沒有設(shè)置則默認(rèn)主機(jī)名的一個(gè)日志名稱

binlog-do-db=db_name //記錄日志的數(shù)據(jù)庫(kù)

binlog-ignore-db=db_name //不記錄日志的數(shù)據(jù)庫(kù)

以上的如果有多個(gè)數(shù)據(jù)庫(kù)用","分割開

然后設(shè)置同步數(shù)據(jù)庫(kù)的用戶帳號(hào)

mysql GRANT REPLICATION SLAVE ON *.*

- TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';

4.0.2以前的版本, 因?yàn)椴恢С諶EPLICATION 要使用下面的語(yǔ)句來實(shí)現(xiàn)這個(gè)功能

mysql GRANT FILE ON *.*

- TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';

設(shè)置好主服務(wù)器的配置文件后重新啟動(dòng)數(shù)據(jù)庫(kù)

b.鎖定現(xiàn)有的數(shù)據(jù)庫(kù)并備份現(xiàn)在的數(shù)據(jù)

鎖定數(shù)據(jù)庫(kù)

mysql FLUSH TABLES WITH READ LOCK;

備份數(shù)據(jù)庫(kù)有兩種辦法一種是直接進(jìn)入到mysql的data目錄然后打包你需要備份數(shù)據(jù)庫(kù)的文件夾,第二種是使用mysqldump的方式來備份數(shù)據(jù)庫(kù)但是要加上"--master-data " 這個(gè)參數(shù),建議使用第一種方法來備份數(shù)據(jù)庫(kù)

c.查看主服務(wù)器的狀態(tài)

mysql show master status\G;

+---------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+---------------+----------+--------------+------------------+

| mysql-bin.003 | 73 | test | manual,mysql |

+---------------+----------+--------------+------------------+

記錄File 和 Position 項(xiàng)目的值,以后要用的。

d.然后把數(shù)據(jù)庫(kù)的鎖定打開

mysql UNLOCK TABLES;

4.設(shè)置從服務(wù)器

a.首先設(shè)置數(shù)據(jù)庫(kù)的配置文件

server-id=n //設(shè)置數(shù)據(jù)庫(kù)id默認(rèn)主服務(wù)器是1可以隨便設(shè)置但是如果有多臺(tái)從服務(wù)器則不能重復(fù)。

master-host=db-master.mycompany.com //主服務(wù)器的IP地址或者域名

master-port=3306 //主數(shù)據(jù)庫(kù)的端口號(hào)

master-user=pertinax //同步數(shù)據(jù)庫(kù)的用戶

master-password=freitag //同步數(shù)據(jù)庫(kù)的密碼

master-connect-retry=60 //如果從服務(wù)器發(fā)現(xiàn)主服務(wù)器斷掉,重新連接的時(shí)間差

report-host=db-slave.mycompany.com //報(bào)告錯(cuò)誤的服務(wù)器

b.把從主數(shù)據(jù)庫(kù)服務(wù)器備份出來的數(shù)據(jù)庫(kù)導(dǎo)入到從服務(wù)器中

c.然后啟動(dòng)從數(shù)據(jù)庫(kù)服務(wù)器,如果啟動(dòng)的時(shí)候沒有加上"--skip-slave-start"這個(gè)參數(shù)則進(jìn)入到mysql中

mysql slave stop; //停止slave的服務(wù)

d.設(shè)置主服務(wù)器的各種參數(shù)

mysql CHANGE MASTER TO

- MASTER_HOST='master_host_name', //主服務(wù)器的IP地址

- MASTER_USER='replication_user_name', //同步數(shù)據(jù)庫(kù)的用戶

- MASTER_PASSWORD='replication_password', //同步數(shù)據(jù)庫(kù)的密碼

- MASTER_LOG_FILE='recorded_log_file_name', //主服務(wù)器二進(jìn)制日志的文件名(前面要求記住的參數(shù))

- MASTER_LOG_POS=recorded_log_position; //日志文件的開始位置(前面要求記住的參數(shù))

e.啟動(dòng)同步數(shù)據(jù)庫(kù)的線程

mysql slave start;

查看數(shù)據(jù)庫(kù)的同步情況。

查看主從服務(wù)器的狀態(tài)

mysql SHOW PROCESSLIST\G //可以查看mysql的進(jìn)程看看是否有監(jiān)聽的進(jìn)程

如果日志太大清除日志的步驟如下

1.鎖定主數(shù)據(jù)庫(kù)

mysql FLUSH TABLES WITH READ LOCK;

2.停掉從數(shù)據(jù)庫(kù)的slave

mysql slave stop;

3.查看主數(shù)據(jù)庫(kù)的日志文件名和日志文件的position

show master status;

+---------------+----------+--------------+------------------+

| File | Position | Binlog_do_db | Binlog_ignore_db |

+---------------+----------+--------------+------------------+

| louis-bin.001 | 79 | | mysql |

+---------------+----------+--------------+------------------+

4.解開主數(shù)據(jù)庫(kù)的鎖

mysql unlock tables;

5.更新從數(shù)據(jù)庫(kù)中主數(shù)據(jù)庫(kù)的信息

mysql CHANGE MASTER TO

- MASTER_HOST='master_host_name', //主服務(wù)器的IP地址

- MASTER_USER='replication_user_name', //同步數(shù)據(jù)庫(kù)的用戶

- MASTER_PASSWORD='replication_password', //同步數(shù)據(jù)庫(kù)的密碼

- MASTER_LOG_FILE='recorded_log_file_name', //主服務(wù)器二進(jìn)制日志的文件名(前面要求記住的參數(shù))

- MASTER_LOG_POS=recorded_log_position; //日志文件的開始位置(前面要求記住的參數(shù))

6.啟動(dòng)從數(shù)據(jù)庫(kù)的slave

mysql slave start;

mysql可以擴(kuò)展多少主機(jī)

mysql最多可以擴(kuò)展9臺(tái)主機(jī)。

MySQL是一種關(guān)系型數(shù)據(jù)庫(kù),在Java企業(yè)級(jí)開發(fā)中非常常用,因?yàn)镸ySQL是開源免費(fèi)的,并且方便擴(kuò)展。阿里巴巴數(shù)據(jù)庫(kù)系統(tǒng)也大量用到MySQL,因此它的穩(wěn)定性是有保障的。MySQL是開放源代碼的,因此任何人都可以在GPL的許可下下載并根據(jù)個(gè)性化的需要對(duì)其進(jìn)行修改。MySQL的默認(rèn)端口號(hào)是3306。

MyISAM是MySQL的默認(rèn)數(shù)據(jù)庫(kù)引擎。雖然性能極佳,而且提供了大量的特性,包括全文索引、壓縮、空間函數(shù)等,但MyISAM不支持事務(wù)和行級(jí)鎖,而且最大的缺陷就是崩潰后無法安全恢復(fù)。不過,5.5版本之后,MySQL引入了InnoDB,MySQL5.5版本后默認(rèn)的存儲(chǔ)引擎為InnoDB。

linux下用mysql-5.5.17如何實(shí)現(xiàn)雙機(jī)熱備

雙機(jī)熱備說明現(xiàn)成資料很多;我簡(jiǎn)單說下步驟:

主機(jī)為A,從機(jī)為B

A的操作,

用root賬戶登錄,mysql -u root -p密碼

create database wangxh; 創(chuàng)建同步數(shù)據(jù)庫(kù)

grant all privileges on wangxh.* to 'tom'@'B的ip' identified by '密碼'; //添加用于B機(jī)同步的賬號(hào)tom

grant replication slave on *.* to 'tom'@'B的ip'; //這個(gè)權(quán)限需要額外加

flush privileges; 刷新權(quán)限表,不然tom用戶的權(quán)限無效

關(guān)閉mysql服務(wù)

編輯my.cnf,在[mysqld]下加上

server-id=1,//主機(jī)id,可以任意數(shù)字,一般都為1

log-bin=mysql-bin.index //生成的bin-log文件名,可以在mysql數(shù)據(jù)文件夾下找到

binlog_format=row //默認(rèn)是STATEMENT,建議用row

binlog-do-db=wangxh --允許被復(fù)制的庫(kù)名,可以設(shè)置多個(gè),用“,”分開

B的操作,

用root賬戶登錄,mysql -u root -p密碼

create database wangxh; 創(chuàng)建同步數(shù)據(jù)庫(kù)

編輯my.cnf,在[mysqld]下加上

server-id=2 //只要不和A的server-id重復(fù)即可

master-host=A的ip

master-user=tom

master-password=tom的密碼

replicate-do-db=back;復(fù)制的數(shù)據(jù)庫(kù);

最后保存文件,然后重啟AB機(jī)器的mysql

登錄B的mysql執(zhí)行,start slave

查看slave狀態(tài),

show slave status;

mysql 多機(jī)備份怎么做?

目前mysql5.6版本也未能支持CHANGE MASTER TO 多用戶;而且只基于數(shù)據(jù)庫(kù)同步,不支持單個(gè)實(shí)例多線程同步


本文題目:mysql怎么支持多機(jī) 安裝多個(gè)mysql
文章源于:http://weahome.cn/article/doddjsc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部