日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Mysql怎么停主從 mysql57主從切換

如何配置MySQL數(shù)據(jù)庫主從復(fù)制

MySQL支持單向、異步復(fù)制,復(fù)制過程中一個服務(wù)器充當(dāng)主服務(wù)器,而一個或多個其它服務(wù)器充當(dāng)從服務(wù)器。主服務(wù)器將更新寫入二進制日志文件,并維 護日志文件的一個索引以跟蹤日志循環(huán)。當(dāng)一個從服務(wù)器連接到主服務(wù)器時,它通知主服務(wù)器從服務(wù)器在日志中讀取的最后一次成功更新的位置。從服務(wù)器接收從那 時起發(fā)生的任何更新,然后封鎖并等待主服務(wù)器通知下一次更新。

創(chuàng)新互聯(lián)公司服務(wù)項目包括大安市網(wǎng)站建設(shè)、大安市網(wǎng)站制作、大安市網(wǎng)頁制作以及大安市網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,大安市網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到大安市省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

為什么使用主從復(fù)制?

1、主服務(wù)器/從服務(wù)器設(shè)置增加了健壯性。主服務(wù)器出現(xiàn)問題時,你可以切換到從服務(wù)器作為備份。

2、通過在主服務(wù)器和從服務(wù)器之間切分處理客戶查詢的負(fù)荷,可以得到更好的客戶響應(yīng)時間。但是不要同時在主從服務(wù)器上進行更新,這樣可能引起沖突。

3、使用復(fù)制的另一個好處是可以使用一個從服務(wù)器執(zhí)行備份,而不會干擾主服務(wù)器。在備份過程中主服務(wù)器可以繼續(xù)處理更新。

MySQL使用3個線程來執(zhí)行復(fù)制功能(其中1個在主服務(wù)器上,另兩個在從服務(wù)器上。當(dāng)發(fā)出START SLAVE時,從服務(wù)器創(chuàng)建一個I/O線程,以連接主服務(wù)器并讓主服務(wù)器發(fā)送二進制日志。主服務(wù)器創(chuàng)建一個線程將二進制日志中的內(nèi)容發(fā)送到從服務(wù)器。從服 務(wù)器I/O線程讀取主服務(wù)器Binlog Dump線程發(fā)送的內(nèi)容并將該數(shù)據(jù)拷貝到從服務(wù)器數(shù)據(jù)目錄中的本地文件中,即中繼日志。第3個線程是SQL線程,從服務(wù)器使用此線程讀取中繼日志并執(zhí)行日 志中包含的更新。SHOW PROCESSLIST語句可以查詢在主服務(wù)器上和從服務(wù)器上發(fā)生的關(guān)于復(fù)制的信息。

默認(rèn)中繼日志使用host_name-relay-bin.nnnnnn形式的文件名,其中host_name是從服務(wù)器主機名,nnnnnn是序 列號。用連續(xù)序列號來創(chuàng)建連續(xù)中繼日志文件,從000001開始。從服務(wù)器跟蹤中繼日志索引文件來識別目前正使用的中繼日志。默認(rèn)中繼日志索引文件名為 host_name-relay-bin.index。在默認(rèn)情況,這些文件在從服務(wù)器的數(shù)據(jù)目錄中被創(chuàng)建。中繼日志與二進制日志的格式相同,并且可以用 mysqlbinlog讀取。當(dāng)SQL線程執(zhí)行完中繼日志中的所有事件后,中繼日志將會被自動刪除。

從服務(wù)器在數(shù)據(jù)目錄中另外創(chuàng)建兩個狀態(tài)文件--master.info和relay-log.info。狀態(tài)文件保存在硬盤上,從服務(wù)器關(guān)閉時不會丟失。下次從服務(wù)器啟動時,讀取這些文件以確定它已經(jīng)從主服務(wù)器讀取了多少二進制日志,以及處理自己的中繼日志的程度。

設(shè)置主從復(fù)制:

1、確保在主服務(wù)器和從服務(wù)器上安裝的MySQL版本相同,并且最好是MySQL的最新穩(wěn)定版本。

2、在主服務(wù)器上為復(fù)制設(shè)置一個連接賬戶。該賬戶必須授予REPLICATION SLAVE權(quán)限。如果賬戶僅用于復(fù)制(推薦這樣做),則不需要再授予任何其它權(quán)限。

mysql GRANT REPLICATION SLAVE ON *.*

- TO 'replication'@'%.yourdomain.com' IDENTIFIED BY 'slavepass';

3、執(zhí)行FLUSH TABLES WITH READ LOCK語句清空所有表和塊寫入語句:

mysql FLUSH TABLES WITH READ LOCK;

保持mysql客戶端程序不要退出。開啟另一個終端對主服務(wù)器數(shù)據(jù)目錄做快照。

shell cd /usr/local/mysql/

shell tar -cvf /tmp/mysql-snapshot.tar ./data

如果從服務(wù)器的用戶賬戶與主服務(wù)器的不同,你可能不想復(fù)制mysql數(shù)據(jù)庫。在這種情況下,應(yīng)從歸檔中排除該數(shù)據(jù)庫。你也不需要在歸檔中包括任何日志文件或者master.info或relay-log.info文件。

當(dāng)FLUSH TABLES WITH READ LOCK所置讀鎖定有效時(即mysql客戶端程序不退出),讀取主服務(wù)器上當(dāng)前的二進制日志名和偏移量值:

mysql SHOW MASTER STATUS;

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

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

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

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

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

File列顯示日志名,而Position顯示偏移量。在該例子中,二進制日志值為mysql-bin.003,偏移量為73。記錄該值。以后設(shè)置從服務(wù)器時需要使用這些值。它們表示復(fù)制坐標(biāo),從服務(wù)器應(yīng)從該點開始從主服務(wù)器上進行新的更新。

如果主服務(wù)器運行時沒有啟用--logs-bin,SHOW MASTER STATUS顯示的日志名和位置值為空。在這種情況下,當(dāng)以后指定從服務(wù)器的日志文件和位置時需要使用的值為空字符串('')和4.

取得快照并記錄日志名和偏移量后,回到前一中端重新啟用寫活動:

mysql UNLOCK TABLES;

4、確保主服務(wù)器主機上my.cnf文件的[mysqld]部分包括一個log-bin選項。該部分還應(yīng)有一個server-id=Master_id選項,其中master_id必須為1到232–1之間的一個正整數(shù)值。例如:

[mysqld]

log-bin

server-id=1

如果沒有提供那些選項,應(yīng)添加它們并重啟服務(wù)器。

5、停止從服務(wù)器上的mysqld服務(wù)并在其my.cnf文件中添加下面的行:

[mysqld]

server-id=2

slave_id值同Master_id值一樣,必須為1到232–1之間的一個正整數(shù)值。并且,從服務(wù)器的ID必須與主服務(wù)器的ID不相同。

6、將數(shù)據(jù)備據(jù)目錄中。確保對這些文件和目錄的權(quán)限正確。服務(wù)器 MySQL運行的用戶必須能夠讀寫文件,如同在主服務(wù)器上一樣。

Shell chown -R mysql:mysql /usr/local/mysql/data

7、啟動從服務(wù)器。在從服務(wù)器上執(zhí)行下面的語句,用你的系統(tǒng)的實際值替換選項值:

mysql CHANGE MASTER TO

- MASTER_HOST='master_host_name',

- MASTER_USER='replication_user_name',

- MASTER_PASSWORD='replication_password',

- MASTER_LOG_FILE='recorded_log_file_name',

- MASTER_LOG_POS=recorded_log_position;

8、啟動從服務(wù)器線程:

mysql START SLAVE;

執(zhí)行這些程序后,從服務(wù)器應(yīng)連接主服務(wù)器,并補充自從快照以來發(fā)生的任何更新。

9、如果出現(xiàn)復(fù)制錯誤,從服務(wù)器的錯誤日志(HOSTNAME.err)中也會出現(xiàn)錯誤消息。

10、從服務(wù)器復(fù)制時,會在其數(shù)據(jù)目錄中發(fā)現(xiàn)文件master.info和HOSTNAME-relay-log.info。從服務(wù)器使用這兩個文 件跟蹤已經(jīng)處理了多少主服務(wù)器的二進制日志。不要移除或編輯這些文件,除非你確切知你正在做什么并完全理解其意義。即使這樣,最好是使用CHANGE MASTER TO語句。

求大牛,mysql主從切換詳細(xì)步驟,主好了之后,再切回

主從切換就是將連接改到備上,然后重新做主從同步,然后確認(rèn)數(shù)據(jù)一致性,之后再回切回去(如果能夠承受主從之間的數(shù)據(jù)差異,可以直接切換,不需要確認(rèn))!

無損失的切換需要先確定主從之間的數(shù)據(jù)是否一致(可以在主上插入數(shù)據(jù),如果備上有,則一致);

如果一致在可以進行數(shù)據(jù)切換!

還有什么問題,可以問?

如何設(shè)置mysql主從同步時間間隔 linux

linux下配置mysql主從同步的步驟

一、主機環(huán)境

主機:

master操作系統(tǒng):rhel6.0

IP:172.16.0.100

MySQL版本:5.1.47

從機:

slave操作系統(tǒng):rhel6.0

IP:172.16.0.200

MySQL版本:5.1.47

二、創(chuàng)建數(shù)據(jù)庫

分別登錄master機和slave機的mysql:mysql –u root –p

創(chuàng)建數(shù)據(jù)庫:create database repl;

三、master機和slave機的相關(guān)配置

1、修改master機器中mysql配置文件my.cnf,該文件在/etc目錄下

在[mysqld]配置段添加如下字段

server-id=1

log-bin=mysql-bin

binlog-do-db=repl //需要同步的數(shù)據(jù)庫,如果沒有本行,即表示同步所有的數(shù)據(jù)庫

binlog-ignore-db=mysql //被忽略的數(shù)據(jù)庫

在master機上為slave機添加一同步帳號

grant replication slave on *.* to 'replication'@'172.16.0.200' identified by '123456';

重啟master機的mysql服務(wù):service mysqld restart

用show master status 命令看日志情況

mysqlshow master status;

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

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

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

| log.000003 | 98 | repl | mysql |

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

1 row in set (0.00 sec)

2、修改slave機中mysql配置文件

同樣在[mysqld]字段下添加如下內(nèi)容

server-id=2

master-host=172.16.0.100

master-user=repl

master-password=123456

master-port=3306

master-connect-retry=60

replicate-do-db=repl //同步的數(shù)據(jù)庫,不寫本行 表示 同步所有數(shù)據(jù)庫

然后重啟slave機的mysql

在slave機中進入mysql

mysqlstart slave;

mysqlshow slave status\G;

如果Slave_IO_Running、Slave_SQL_Running狀態(tài)為Yes則表明設(shè)置成功。

這時 再執(zhí)行show slave status\G

顯示如下:

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.1.222

Master_User: repl

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: log.000003

Read_Master_Log_Pos: 98

Relay_Log_File: mysqld-relay-bin.000002

Relay_Log_Pos: 229

Relay_Master_Log_File: log.000003

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 98

Relay_Log_Space: 229

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

1 row in set (0.00 sec)

Slave_IO_Running: Yes Slave_SQL_Running: Yes

信息中如上兩行都為Yes,說明配置成功。

五、測試主從服務(wù)器是否能同步

在主服務(wù)器上面新建一個表,必須在repl數(shù)據(jù)下

mysql use repl

Database changed

mysql create table test(id int,name char(10));

Query OK, 0 rows affected (0.00 sec)

mysql insert into test values(1,'zaq');

Query OK, 1 row affected (0.00 sec)

mysql insert into test values(1,'xsw');

Query OK, 1 row affected (0.00 sec)

mysql select * from test;

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

| id | name |

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

| 1 | zaq |

| 1 | xsw |

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

2 rows in set (0.00 sec)

在從服務(wù)器查看是否同步過來

mysql use repl;

Database changed

mysql select * from test;

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

| id | name |

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

| 1 | zaq |

| 1 | xsw |

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

2 rows in set (0.00 sec)

說明已經(jīng)配置成功。

四、出現(xiàn)的問題

1. 當(dāng)在執(zhí)行start slave這條命令時,系統(tǒng)提示

ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO,

執(zhí)行show slave status;又提示Empty set (0.00 sec)

原因:slave已經(jīng)默認(rèn)開啟,要先關(guān)閉再開啟

執(zhí)行 slave stop;

再執(zhí)行

change master to master_host='172.16.0.200',master_user='repl',master_password='123456', master_log_file='log.000003' ,master_log_pos=98;

2、出現(xiàn)錯誤提示 :Slave_IO_Running:NO

mysql的error日志中信息:

Slave I/O: error connecting to master 'replication@172.16.0.100:3306' - retry-time: 60 retries: 86400, Error_code: 1045

解決方法

1.在主mysql中創(chuàng)建slave遠(yuǎn)程連接訪問時候的登錄密碼一定要設(shè)置對。

2.停止slave上的mysqld服務(wù),從服務(wù)器上刪除掉所有的二進制日志文件,包括一個數(shù)據(jù)目錄下的master.info文件和hostname-relay-bin開頭的文件,然后啟動slave上的mysqld服務(wù)。

master.info::記錄了Mysql主服務(wù)器上的日志文件和記錄位置、連接的密碼。

3.slave上Slave_SQL_Running: No ,提示某個表定義不正確

解決方法:

清空drop掉master和slave上的已經(jīng)存在所有表,然后從master庫上導(dǎo)入新的數(shù)據(jù)即可。

如何使用mysql 主從服務(wù)器

一.?準(zhǔn)備服務(wù)器

準(zhǔn)備兩臺主機,分別安裝好Mysql (要相同版本),確定版本無誤,確保mysql服務(wù)正常啟動,確保兩臺主機處于同一個局域網(wǎng)中,確定好哪臺做為主、備機器,假設(shè)A為主機,B為備機,假設(shè):

A主機IP地址為:172.16.16.90 端口3306

B主機IP地址為: 172.16.99.98 端口3306

二.?Mysql建立主-從服務(wù)器熱備配置步驟

1.?創(chuàng)建同步用戶

進入MySql操作界面,在主服務(wù)器上為從服務(wù)器建立一個連接帳戶,該帳戶必須授予REPLICATION SLAVE權(quán)限。

操作指令如下:

1)?grant select,replication slave on *.* to 'replicate'@'172.16.99.98' identified by '1234567';

2)?flush privileges;

2.?修改Mysql配置

如果上面的準(zhǔn)備工作做好,就可以進行對Mysql配置文件進行修改了,首先找到主服務(wù)器Mysql安裝文件所有在目錄,找到my.ini文件用記事本打開。在[mysqld]下增加如下內(nèi)容:

server-id?=?1

log-bin=mysql-bin

binlog-do-db?=test? ?#需要備份的數(shù)據(jù)庫,多個寫多行

binlog-ignore-db?=?mysql??????#不需要備份的數(shù)據(jù)庫,多個寫多行

3.?重啟mysql服務(wù)

修改完配置文件保存后,重啟一下mysql服務(wù)。

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

進入A服務(wù)器Mysql 客戶端輸入命令

1)Show master STATUS;

2)返回結(jié)果如下:

注意看里面的參數(shù),特別前面兩個File和Position,在從服務(wù)器(Slave)配置主從關(guān)系會有用到的。

5.?從服務(wù)器Slave配置修改配置文件

因為這里面是以主-從方式實現(xiàn)mysql雙機熱備的,所以在從服務(wù)器就不用在建立同步帳戶了,直接打開配置文件my.ini進行修改即可,道理還是同修改主服務(wù)器上的一樣,只不過需要修改的參數(shù)不一樣。

如下:

[mysqld]

server-id?=?2

log-bin=mysql-bin

replicate-do-db?=?test

replicate-ignore-db?=mysql

6.?重啟mysql服務(wù)

修改完配置文件保存后,重啟一下mysql服務(wù)。

7.?配置從服務(wù)器

先停止slave服務(wù)線程,這個是很重要的,如果不這樣做會造成下面操作不成功,再用change mster 語句指定同步位置,操作如下:

1)?stop?slave;

2)?change master to master_host='172.16.16.90',

master_user='replicate',master_password='1234567',master_port=3306,

master_log_file='mysql-bin.000001',master_log_pos=98;

3)?start slave

4) show?slave?status

查看下面兩項值均為Yes,即表示設(shè)置從服務(wù)器成功。

Slave_IO_Running:?Yes

Slave_SQL_Running:?Yes


分享文章:Mysql怎么停主從 mysql57主從切換
分享地址:http://www.dlmjj.cn/article/dojpsci.html