GoLang mysqlnd_ms_dump_servers

request it (279)
GoLang replacement for PHP's mysqlnd_ms_dump_servers [edit | history]



Do you know a GoLang replacement for PHP's mysqlnd_ms_dump_servers? Write it!

PHP mysqlnd_ms_dump_servers

PHP original manual for mysqlnd_ms_dump_servers [ show | php.net ]

mysqlnd_ms_dump_servers

(No version information available, might only be in Git)

mysqlnd_ms_dump_serversReturns a list of currently configured servers

Description

array mysqlnd_ms_dump_servers ( mixed $connection )

Returns a list of currently configured servers.

Parameters

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

Return Values

FALSE on error. Otherwise, returns an array with two entries masters and slaves each of which contains an array listing all corresponding servers.

The function can be used to check and debug the list of servers currently used by the plugin. It is mostly useful when the list of servers changes at runtime, for example, when using MySQL Fabric.

masters and slaves server entries

Key Description Version
name_from_config

Server entry name from config, if appliciable. NULL if no configuration name is available.

Since 1.6.0.
hostname

Host name of the server.

Since 1.6.0.
user

Database user used to authenticate against the server.

Since 1.6.0.
port

TCP/IP port of the server.

Since 1.6.0.
socket

Unix domain socket of the server.

Since 1.6.0.

Notes

Note:

mysqlnd_ms_dump_servers() requires PECL mysqlnd_ms >> 1.6.0.

Examples

Example #1 mysqlnd_ms_dump_servers() example

{
    "myapp": {
        "master": {
            "master1": {
                "host":"master1_host",
                "port":"master1_port",
                "socket":"master1_socket",
                "db":"master1_db",
                "user":"master1_user",
                "password":"master1_pw"
            }
        },
        "slave": {
             "slave_0": {
                 "host":"slave0_host",
                 "port":"slave0_port",
                 "socket":"slave0_socket",
                 "db":"slave0_db",
                 "user":"slave0_user",
                 "password":"slave0_pw"
             },
             "slave_1": {
                 "host":"slave1_host"
             }
        }
    }
}
<?php
$link 
mysqli_connect("myapp""global_user""global_pass""global_db"1234"global_socket");
var_dump(mysqlnd_ms_dump_servers($link);
?>

The above example will output:

array(2) {
  ["masters"]=>
  array(1) {
    [0]=>
    array(5) {
      ["name_from_config"]=>
      string(7) "master1"
      ["hostname"]=>
      string(12) "master1_host"
      ["user"]=>
      string(12) "master1_user"
      ["port"]=>
      int(3306)
      ["socket"]=>
      string(14) "master1_socket"
    }
  }
  ["slaves"]=>
  array(2) {
    [0]=>
    array(5) {
      ["name_from_config"]=>
      string(7) "slave_0"
      ["hostname"]=>
      string(11) "slave0_host"
      ["user"]=>
      string(11) "slave0_user"
      ["port"]=>
      int(3306)
      ["socket"]=>
      string(13) "slave0_socket"
    }
    [1]=>
    array(5) {
      ["name_from_config"]=>
      string(7) "slave_1"
      ["hostname"]=>
      string(11) "slave1_host"
      ["user"]=>
      string(12) "gloabal_user"
      ["port"]=>
      int(1234)
      ["socket"]=>
      string(13) "global_socket"
    }
  }
}