国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL手冊版本 5.0.20-MySQL同步(二)

2024-07-24 12:55:30
字體:
供稿:網(wǎng)友

6.4 設(shè)置同步

以下描述了如何快速設(shè)置mysql同步服務(wù)器。假設(shè)你打算同步全部的數(shù)據(jù)庫,并且之前沒有設(shè)置過。需要關(guān)閉master服務(wù)器以完成全部的步驟。

本章描述的過程可以用于一個slave的情況,也可以用于多個slave的情況。

這只是一個最直接設(shè)置slave的辦法,并不是只有一個。例如,已經(jīng)有了master的數(shù)據(jù)快照(snapshot),master已經(jīng)設(shè)置了服務(wù)器編號id(server_id)并且啟用了二進(jìn)制日志,這就無需關(guān)閉master或者阻止在master上更新數(shù)據(jù)了。詳情請看"6.9 replication faq"。

想要完全掌握mysql同步設(shè)置,最好把本章全部讀完,并且測試在"14.6.1 sql statements for controlling master servers"和"14.6.2 sql statements for controlling slave servers"中提到的全部語句。而且要熟悉各種同步設(shè)置選項,詳情請看"6.8 replication startup options"。

注意,這個過程以及后面一些同步sql語句需要有 super 權(quán)限。mysql 4.0.2以前,則是 process 權(quán)限。

請確認(rèn)master和slave上都安裝了較近的mysql版本,且這些版本之間要能兼容,在"6.5 replication compatibility between mysql versions"中列出來了。請確認(rèn)在最新版本中還有存在問題,否則不要報告該bug。

在master上新加一個帳戶,slave才能用它來連接。這個帳戶必須授予 replication slave 權(quán)限。如果這個帳戶只用于同步(推薦這么做),那就沒必要授予其他權(quán)限了。設(shè)定你的域是 mydomain.com,想要授權(quán)一個帳戶 repl 使用密碼 slavepass,允許它可以在域里的任何主機(jī)連接到master上。用 grant 語句來創(chuàng)建帳戶:

mysql> grant replication slave on *.*

-> to 'repl'@'%.mydomain.com' identified by 'slavepass';

在mysql 4.0.2以前,用 file 權(quán)限來代替 replication slave:

mysql> grant file on *.*

-> to 'repl'@'%.mydomain.com' identified by 'slavepass';

如果打算在slave上執(zhí)行 load table from master 或 load data from master 語句,那么必須給該帳戶授予附加權(quán)限:

授予全局 super 和 reload 權(quán)限。

授予對想要加載的所有表上的 select 權(quán)限。在master上任何沒有 select 權(quán)限的表都會被 load data from master 略過。

如果只用到 myisam 表,執(zhí)行 flush tables with read lock 語句刷新所有表并且阻止其他寫入:

mysql> flush tables with read lock;

不要退出執(zhí)行 flush tables 語句的客戶端,以保持讀鎖有效(如果退出了,讀鎖就釋放了)。然后從master上取得數(shù)據(jù)快照。比較簡單的辦法就是把數(shù)據(jù)目錄打包壓縮。例如,unix上的 tar, powerarchiver, winrar, winzip,或windows上的類似程序。想要用 tar 來創(chuàng)建一個壓縮包,包括所有的數(shù)據(jù)庫,只需執(zhí)行以下命令(把目錄改成你的真實路徑):

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

如果只想打包一個數(shù)據(jù)庫 this_db,只需執(zhí)行命令:

shell> tar -cvf /tmp/mysql-snapshot.tar ./this_db

然后把這個文件拷貝到slave的 `/tmp` 目錄下。在slave上,執(zhí)行以下命令解開壓縮包(把目錄改成你的真實路徑):

shell> tar -xvf /tmp/mysql-snapshot.tar

可能不需要同步 mysql 數(shù)據(jù)庫,因為在slave上的權(quán)限表和master不一樣。這時,解開壓縮包的時候要排除它。同時在壓縮包中也不要包含任何日志文件,或者 `master.info~ 或 `relay-log.info` 文件。當(dāng)在master上的 flush tables with read lock 語句還生效時,在master上讀取當(dāng)前二進(jìn)制文件的文件名及偏移位置:

mysql > show master status;

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

| file | position | binlog_do_db | binlog_ignore_db |

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

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

+---------------+----------+--------------+------------------+
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 临夏市| 玉环县| 科技| 黄平县| 吴桥县| 柳河县| 庆元县| 元朗区| 淮北市| 新安县| 汨罗市| 平江县| 修水县| 德江县| 巧家县| 望江县| 商南县| 固阳县| 八宿县| 兴化市| 呼图壁县| 宣威市| 临夏市| 多伦县| 新田县| 墨竹工卡县| 班戈县| 会宁县| 凌海市| 富裕县| 闸北区| 柳河县| 永昌县| 攀枝花市| 荥经县| 资源县| 临夏县| 读书| 萨嘎县| 萨嘎县| 绥阳县|