Skip to content
This repository was archived by the owner on Feb 18, 2025. It is now read-only.
This repository was archived by the owner on Feb 18, 2025. It is now read-only.

howto attach one mysql server to another with seed\receive data over orchestrator-agent? #438

Closed
@Slach

Description

@Slach

i just start two separate empty mysql 5.7 servers on separate hosts mysql1 and mysql2, and try attach mysql2 as slave into mysql1
and see following messages:

    mysql-proxy: ++ orchestrator -c discover -i mysql1
    mysql-proxy: mysql1:3306
    mysql-proxy: ++ orchestrator -c discover -i mysql2
    mysql-proxy: mysql2:3306
    mysql-proxy: ++ orchestrator -c relocate -i mysql2 -d mysql1
    mysql-proxy: 2018-03-12 15:56:59 ERROR Relocating mysql2:3306 below mysql1:3306 turns to be too complex; please do it manually
    mysql-proxy: 2018-03-12 15:56:59 FATAL 2018-03-12 15:56:59 ERROR Relocating mysql2:3306 below mysql1:3306 turns to be too complex; please do it manually

i setup orchestrator-agent on mysql hosts
and use following /etc/orchestrator.conf.json

{
  "BackendDB": "sqlite",
  "SQLite3DataFile": "/usr/local/orchestrator/orchestrator.sqlite3",
  "MySQLTopologyUser": "orchestrator",
  "MySQLTopologyPassword": "orch_topology_password",
  "AutoPseudoGTID": true,
  "ServeAgentsHttp": true
}

and use following /etc/ochestrator-agent.conf.json

{
  "SnapshotMountPoint": "/tmp",
  "AgentsServer": "http://mysql-proxy",
  "AgentsServerPort": ":3001",
  "ContinuousPollSeconds" : 60,
  "ResubmitAgentIntervalMinutes": 60,
  "CreateSnapshotCommand": "echo 'no action'",
  "AvailableLocalSnapshotHostsCommand": "echo 127.0.0.1",
  "AvailableSnapshotHostsCommand": "echo localhost\n127.0.0.1",
  "SnapshotVolumesFilter": "-my-snapshot-",
  "MySQLDatadirCommand": "mysql -B -e 'SELECT @@datadir'",
  "MySQLPortCommand": "echo '3306'",
  "MySQLDeleteDatadirContentCommand": "export DATADIR=$(mysql -B -e 'SELECT @@datadir'); systemctl mysql stop; rm --preserve-root -rf $DATADIR/*",
  "MySQLServiceStopCommand":      "systemctl mysql stop",
  "MySQLServiceStartCommand":     "systemctl mysql start",
  "MySQLServiceStatusCommand":    "systemctl mysql status",
  "ReceiveSeedDataCommand":       "/usr/local/orchestrator-agent/mysql-receive-data.sh",
  "SendSeedDataCommand":          "/usr/local/orchestrator-agent/mysql-send-data.sh",
  "PostCopyCommand":              "/usr/local/orchestrator-agent/mysql-post-receive.sh",
  "HTTPPort": 3002,
  "HTTPAuthUser": "",
  "HTTPAuthPassword": "",
  "UseSSL": false,
  "SSLCertFile": "",
  "SSLPrivateKeyFile": "",
  "HttpTimeoutSeconds": 10,
  "ExecWithSudo": true,
  "CustomCommands": {
    "true": "/bin/true"
  },
  "TokenHintFile": ""
}

how i can use orchestrator-cli or orchestrator-client or direct api calls for
CLONE mysql1 to mysql2 and attach mysql2 to mysql1 as a slave?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions