I get error: can't find a value for '_BIND_ADDRESS_' error installing node 1

Asked by justin gunderson on 2013-05-02

I am trying to make a set of circular replicated boxes for testing GTID on.

mysql@mysql-db-dev:~/sandboxes> make_replication_sandbox --circular=3 /data/mysql-advanced-5.6.11-linux-glibc2.5-i686.tar.gz
installing node 1
Use of uninitialized value $ENV{"SANDBOX_BINARY"} in concatenation (.) or string at /home/mysql/sandbox/make_sandbox line 108.
Use of uninitialized value in string eq at /home/mysql/sandbox/low_level_make_sandbox line 262.
Use of uninitialized value in string ne at /home/mysql/sandbox/low_level_make_sandbox line 262.
can't find a value for '_BIND_ADDRESS_'
error installing node 1
unpacking /data/mysql-advanced-5.6.11-linux-glibc2.5-i686.tar.gz
Executing low_level_make_sandbox --basedir=/data/5.6.11 \
        --sandbox_directory=msb_5_6_11 \
        --install_version=5.6 \
        --sandbox_port=5611 \
        --no_ver_after_name \
        --datadir_from=script \
        --upper_directory=//home/mysql/sandboxes/rcsandbox_mysql-advanced-5_6_11 \
        --sandbox_directory=node1 \
        --no_confirm \
        --no_check_port \
        --repl_user=rsandbox \
        --repl_password=rsandbox \
        --remote_access=127.% \
        --prompt_prefix=node1 \
        --sandbox_port=15101 \
        -c \
        server-id=101 \
        -c \
        log-bin=mysql-bin \
        -c \
        log-slave-updates \
        -c \
        replicate-same-server-id=0 \
        -c \
        auto_increment_increment=3 \
        -c \
        auto_increment_offset=1 \
        -c \
        report-host=SBnode1 \
        -c \
        report-port=15101 \
    The MySQL Sandbox, version 3.0.28
    (C) 2006-2013 Giuseppe Maxia
installing with the following parameters:
upper_directory = //home/mysql/sandboxes/rcsandbox_mysql-advanced-5_6_11
sandbox_directory = node1
sandbox_port = 15101
check_port =
no_check_port = 1
datadir_from = script
install_version = 5.6
basedir = /data/5.6.11
tmpdir =
my_file =
operating_system_user = mysql
db_user = msandbox
remote_access =
ro_user = msandbox_ro
rw_user = msandbox_rw
repl_user = rsandbox
db_password = msandbox
repl_password = rsandbox
my_clause = server-id=101 ; log-bin=mysql-bin ; log-slave-updates ; replicate-same-server-id=0 ; auto_increment_increment=3 ; auto_increment_offset=1 ; report-host=SBnode1 ; report-port=15101 ; log-error=msandbox.err
master =
slaveof =
high_performance =
prompt_prefix = node1
prompt_body = [\h] {\u} (\d) >
force =
no_ver_after_name = 1
verbose =
load_grants = 1
no_load_grants =
no_run =
no_show =

(6400 )

Question information

English Edit question
MySQL Sandbox Edit question
No assignee Edit question
Solved by:
Giuseppe Maxia
Last query:
Last reply:

It seems that MySQL Sandbox was not properly installed. The errors that you get come from values that should be initialized in the modules.

What should happen is the following:
1) you install MySQL Sandbox using CPAN (or using perl Makefile.PL; make; sudo make install)
2) you download the tarball in a directory other than ~/sandboxes
3) you run make_replication_sandbox ...

From the paths in your listings, it seems to me that you did not follow any of the above methods for installing.

Please post the result of these commands:

pushd ~

perldoc -l MySQL::Sandbox
perldoc -l MySQL::Sandbox::Scripts
perldoc -l MySQL::Sandbox::Recipes

which make_sandbox
which make_replication_sandbox
which low_level_make_sandbox
which make_multiple_sandbox


justin gunderson (gunderjj) said : #2

Yes you are correct, looks like something went wrong with the initial install. Everything installed this time and I am installing 5.6.11, but for some reason the enable_gtid script was not built. Does an extra command have to happen when installing for this? The build details are below.

make_replication_sandbox --upper_directory=/data/sandbox --r=mysql_5.6.11 --topology=circular --circular=2 --check_base_port -v /data/mysql-advanced-5.6.11-linux-glibc2.5-i686.tar.gz
installing node 1
installing node 2
# server: 1:
# server: 2:
# server: 1:
# server: 2:
Circular replication activated
group directory installed in $HOME/sandboxes/mysql_5.6.11

Congratulations on a successful installation!

The reason for the lack of GTID script is because circular replication is actually created by a different script, and this one does not include the logic to create the GTID activation. I will fix this bug in a later version.

A simple workaround would be to install regular replication, take the script 'enable_gtid' from there, modify it to use the circular replication nodes, and run it.

Or use this template:

OPTIONS="master-info-repository=table "
OPTIONS="$OPTIONS relay-log-info-repository=table"
OPTIONS="$OPTIONS log-slave-updates enforce-gtid-consistency"
for NODE in node1 node2
    for OPTION in $OPTIONS
        option_exists=$(grep $OPTION $NODE/my.sandbox.cnf)
        if [ -z "$option_exists" ]
            echo "$OPTION" >> $NODE/my.sandbox.cnf
            echo "# option '$OPTION' added to $NODE configuration file"
            echo "# option '$OPTION' already exists in $NODE configuration file"
if [ -n "$CHANGED" ]

justin gunderson (gunderjj) said : #4

Thanks Giuseppe Maxia, that solved my question.