LINUX 環境 mysql to mysql OGG安裝配置(二)
配置挖掘程式
# ./ggsci
dblogin sourcedb testdb@192.168.14.51:3306,userid odc,password odc
add extract ext_my,tranlog,begin now
add exttrail ./dirdat/my,extract ext_my
edit param ext_my
extract ext_my
sourcedb testdb@192.168.14.51:3306,userid odc,password odc
exttrail ./dirdat/my
gettruncates
table testdb.*;
配置傳輸程式
# ./ggsci
dblogin sourcedb testdb@localhost:3306,userid odc,password odc
add extract dmp_my,exttrailsource ./dirdat/my
add rmttrail ./dirdat/my,extract dmp_my
edit param dmp_my
extract dmp_my
rmthost 192.168.14.52,mgrport 7809
rmttrail ./dirdat/my
passthru
gettruncates
table testdb.*;
我們稍後目標端安裝完軟體再啟動。
目標端軟體的安裝方法與 完全一致。
配置應用程式
dblogin sourcedb testdb@192.168.14.52:3306,userid odc,password odc
add replicat rep_my exttrail ./dirdat/my checkpointtable ogg.ggs_checkpoint
edit param rep_my
replicat rep_my
targetdb testdb@192.168.14.52:3306,userid odc,password odc
--HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/my.dsc,append,megabytes 50
map testdb.*, target testdb.*;
匯出testdb
mysqldump -uroot -pmysql --single-transaction --master-data=2 -E -R --databases testdb > testdb.sql
匯入testdb
# mysql -uroot -pmysql
mysql> source /tmp/testdb.sql
找到二進位制日誌點位
# more testdb.sql |grep MASTER_LOG_FILE
-- CHANGE MASTER TO MASTER_LOG_FILE=' mysql-bin.000003', MASTER_LOG_POS= 810;
啟動程式
alter extract ext_my,lognum 3,logpos 810
啟動挖掘程式
# ./ggsci
start ext_my
如果啟動時報錯:
2022-04-22T16:49:09.680+0800 WARNING OGG-00769 Oracle GoldenGate Capture for MySQL, ext_my.prm: MySQL Login failed: . SQL error (2002). Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2).
2022-04-22T16:49:09.680+0800 ERROR OGG-00770 Oracle GoldenGate Capture for MySQL, ext_my.prm: Failed to connect to MySQL database engine for HOST localhost, DATABASE testdb, USER odc, PORT 3306.
則建立一個軟連線,再次啟動即可
# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
啟動傳輸程式
# ./ggsci
start dmp_my
啟動應用程式
# ./ggsci
start rep_my
至此,MySQL to MySQL 的同步就實施完成了。
更改二進位制日誌位置
修改MySQL 配置檔案中的log-bin 變數來修改二進位制日誌位置可能會導致二進位制日誌索引檔案中有兩個不同的路徑,這將會導致OGG 異常。
1. 所以更改二進位制日誌位置需要以下步驟:
2. 停止任何新的DML 操作。
3. 讓Extract 完成所有現有二進位制日誌的處理。
4. 停止Extract 組。
5. 停止MySQL 資料庫。
6. 修改log-bin 引數。
7. 啟動MySQL 資料庫。
8. 使用flush master 或者reset master 從二進位制日誌索引檔案中清除舊的日誌條目。
9. 啟動Extract 。
配置雙向複製
在雙向複製中,源系統和目標系統上都有Extract 和Replicat 程式,為了支援這種配置,每個Extract 必須能夠過濾本地Replicat 應用的事務,以便它們不會被重新捕獲。此外,必須設定AUTO_INCREMENT 列( 主鍵自增長) ,以便每個系統上的值之前沒有衝突。
1. 要在雙向複製中過濾掉Replicat 操作,請在每個MySQL 資料庫上執行以下步驟:
l 為每個Replicat 配置使用檢查點表。Replicat 在每個事務結束時會對該表進行檢查點。
l 在Extract 引數檔案中使用TRANLOGOPTIONS 的FLITERTABLE 選項指定檢查點表的名稱。Extract 程式將忽略以對指定檢查點表的操作結束的事務。
2. 編輯MySQL 配置檔案設定auto_increment_increment 和auto_increment_offset 引數以避免雙向操作引起的差異,假設有兩個伺服器ServerA 和ServerB:
l ServerA:
auto_increment_increment = 2
auto_increment_offset = 1
自增長值為:1,3,5,7,9
l ServerB:
auto_increment_increment = 2
auto_increment_offset = 2
自增長值為:2,4,6,8,10
引數解釋:
auto_increment_offset: 自增長欄位起始值
auto_increment_increment: 每次自增長值
遠端捕獲
1. 向OGG 遠端捕獲使用者授予訪問許可權
mysql > CREATE USER 'username'@'host' IDENTIFIED BY 'Password';
mysql > GRANT ALL PRIVILEGES ON *.* TO 'username'@'host’ WITH GRANT OPTION;
mysql > FLUSH PRIVILEGES;
2. 遠端MySQL 伺服器的server_id 值應該大於0
mysql > show variables like 'server_id';
如果server_id 的值為0 ,修改my.cnf 以設定server_id 的值大於0.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29956245/viewspace-2932706/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux-RHEL7環境MySQL安裝配置LinuxMySql
- Linux-CentOS7環境MySQL安裝配置LinuxCentOSMySql
- linux環境安裝——mysql安裝複習LinuxMySql
- mac安裝mysql並配置環境變數MacMySql變數
- Linux環境下透過docker安裝mysqlLinuxDockerMySql
- Mysql for Linux安裝配置之——二進位制安裝MySqlLinux
- Linux環境下MySQL安裝部署操作步驟LinuxMySql
- Linux環境HBase安裝配置Linux
- Linux環境Azkaban安裝配置Linux
- LEMP環境搭建及配置(三)安裝MySQL5.6MySql
- windows環境安裝mysql-8.0.3WindowsMySql
- Linux環境下nginx安裝配置LinuxNginx
- Linux配置JavaEE環境 Linux中安裝JDK、Tomcat、mysql 設定Tomcat自啟動、設定mysql自啟動LinuxJavaJDKTomcatMySql
- MySQL安裝之二_安裝配置泥潭版MySql
- Mysql for Linux安裝配置之—— rpm(bundle)安裝MySqlLinux
- Mysql for Linux安裝配置之—— 原始碼安裝MySqlLinux原始碼
- 快速搭建 Linux(LNMP + Linux 安裝 + 環境配置)LinuxLNMP
- Linux環境Spark安裝配置及使用LinuxSpark
- Linux環境Flume安裝配置及使用Linux
- Linux環境Sqoop安裝配置及使用LinuxOOP
- Linux環境Hive安裝配置及使用LinuxHive
- MySQL - 下載與安裝配置(Linux)MySqlLinux
- linux環境下安裝mysql8.0過程介紹GMFXLinuxMySql
- JDK Tomcat MySQL環境配置JDKTomcatMySql
- MySQL安裝配置MySql
- win10環境安裝mysql8.0Win10MySql
- Linux 使用Yum安裝Go和配置環境LinuxGo
- Linux安裝MySQLLinuxMySql
- mysql安裝 for LinuxMySqlLinux
- LINUX ORACLE OGG12C安裝(二)LinuxOracle
- 【Linux合集】二進位制安裝mysqlLinuxMySql
- 【MySQL安裝】Linux下安裝MySQL(預編譯)MySqlLinux編譯
- Linux安裝解除安裝MySQLLinuxMySql
- centos 7 伺服器安裝LNMP環境 (Linux+Nginx+Mysql8+PHP)CentOS伺服器LNMPLinuxNginxMySqlPHP
- jdk在linux下安裝、配置環境變數JDKLinux變數
- linux系統安裝jdk,配置環境變數LinuxJDK變數
- Linux環境下的Android的ADK安裝配置LinuxAndroid
- Linux & Windows 環境下 RabbitMQ 安裝與基本配置LinuxWindowsMQ