Skip to content

Commit 194d300

Browse files
committed
Fixing force semi sync for mysql 8.x #556
1 parent 29c1db3 commit 194d300

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

utils/dbhelper/dbhelper.go

+12
Original file line numberDiff line numberDiff line change
@@ -1196,24 +1196,36 @@ func SetMultiSourceRepl(db *sqlx.DB, master_host string, master_port string, mas
11961196

11971197
func InstallSemiSync(db *sqlx.DB, myver *MySQLVersion) (string, error) {
11981198
stmt := "INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so'"
1199+
if myver.IsMySQLOrPercona() && ((myver.Major >= 8 && myver.Minor > 0) || (myver.Major >= 8 && myver.Minor == 0 && myver.Release >= 26)) {
1200+
stmt = "INSTALL PLUGIN rpl_semi_sync_replica SONAME 'semisync_replica.so'"
1201+
}
11991202
logs := stmt
12001203
_, err := db.Exec(stmt)
12011204
if err != nil {
12021205
return logs, err
12031206
}
12041207
stmt = "INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'"
1208+
if myver.IsMySQLOrPercona() && ((myver.Major >= 8 && myver.Minor > 0) || (myver.Major >= 8 && myver.Minor == 0 && myver.Release >= 26)) {
1209+
stmt = "INSTALL PLUGIN rpl_semi_sync_source SONAME 'semisync_source.so';"
1210+
}
12051211
logs += "\n" + stmt
12061212
_, err = db.Exec(stmt)
12071213
if err != nil {
12081214
return logs, err
12091215
}
12101216
stmt = "set global rpl_semi_sync_master_enabled='ON'"
1217+
if myver.IsMySQLOrPercona() && ((myver.Major >= 8 && myver.Minor > 0) || (myver.Major >= 8 && myver.Minor == 0 && myver.Release >= 26)) {
1218+
stmt = "SET GLOBAL rpl_semi_sync_source_enabled=ON"
1219+
}
12111220
logs += "\n" + stmt
12121221
_, err = db.Exec(stmt)
12131222
if err != nil {
12141223
return logs, err
12151224
}
12161225
stmt = "set global rpl_semi_sync_slave_enabled='ON'"
1226+
if myver.IsMySQLOrPercona() && ((myver.Major >= 8 && myver.Minor > 0) || (myver.Major >= 8 && myver.Minor == 0 && myver.Release >= 26)) {
1227+
stmt = "SET GLOBAL rpl_semi_sync_replica_enabled=ON"
1228+
}
12171229
logs += "\n" + stmt
12181230
_, err = db.Exec(stmt)
12191231
if err != nil {

0 commit comments

Comments
 (0)