📄 mtr
字号:
mtr_init_args(\$args); if ( $opt_valgrind_mysqltest ) { valgrind_arguments($args, \$exe); } mtr_add_arg($args, "--no-defaults"); mtr_add_arg($args, "--testcase"); mtr_add_arg($args, "--user=root"); mtr_add_arg($args, "--port=$master->[0]->{'port'}"); mtr_add_arg($args, "--socket=$master->[0]->{'path_sock'}"); if ( $opt_extern || $mysql_version_id >= 50000 ) { mtr_add_arg($args, "--vardir=$opt_vardir") } if ( $opt_debug ) { mtr_add_arg($args, "--debug=d:t:A,$path_vardir_trace/log/mysql_client_test.trace"); } if ( $glob_use_embedded_server ) { mtr_add_arg($args, " -A --language=$path_language"); mtr_add_arg($args, " -A --datadir=$slave->[0]->{'path_myddir'}"); mtr_add_arg($args, " -A --character-sets-dir=$path_charsetsdir"); } return join(" ", $exe, @$args);}sub mysql_upgrade_arguments(){ my $exe= $exe_mysql_upgrade; my $args; mtr_init_args(\$args);# if ( $opt_valgrind_mysql_ugrade )# {# valgrind_arguments($args, \$exe);# } mtr_add_arg($args, "--no-defaults"); mtr_add_arg($args, "--user=root"); mtr_add_arg($args, "--port=$master->[0]->{'port'}"); mtr_add_arg($args, "--socket=$master->[0]->{'path_sock'}"); mtr_add_arg($args, "--datadir=$master->[0]->{'path_myddir'}"); mtr_add_arg($args, "--basedir=$glob_basedir"); if ( $opt_debug ) { mtr_add_arg($args, "--debug=d:t:A,$path_vardir_trace/log/mysql_upgrade.trace"); } return join(" ", $exe, @$args);}# Note that some env is setup in spawn/run, in "mtr_process.pl"sub environment_setup () { umask(022); my @ld_library_paths; # -------------------------------------------------------------------------- # Setup LD_LIBRARY_PATH so the libraries from this distro/clone # are used in favor of the system installed ones # -------------------------------------------------------------------------- if ( $source_dist ) { push(@ld_library_paths, "$glob_basedir/libmysql/.libs/", "$glob_basedir/libmysql_r/.libs/", "$glob_basedir/zlib.libs/"); } else { push(@ld_library_paths, "$glob_basedir/lib"); } # -------------------------------------------------------------------------- # Add the path where libndbclient can be found # -------------------------------------------------------------------------- if ( $glob_ndbcluster_supported ) { push(@ld_library_paths, "$glob_basedir/storage/ndb/src/.libs"); } # -------------------------------------------------------------------------- # Add the path where mysqld will find udf_example.so # -------------------------------------------------------------------------- if ( $lib_udf_example ) { push(@ld_library_paths, dirname($lib_udf_example)); } # -------------------------------------------------------------------------- # Valgrind need to be run with debug libraries otherwise it's almost # impossible to add correct supressions, that means if "/usr/lib/debug" # is available, it should be added to # LD_LIBRARY_PATH # # But pthread is broken in libc6-dbg on Debian <= 3.1 (see Debian # bug 399035, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=399035), # so don't change LD_LIBRARY_PATH on that platform. # -------------------------------------------------------------------------- my $debug_libraries_path= "/usr/lib/debug"; my $deb_version; if ( $opt_valgrind and -d $debug_libraries_path and (! -e '/etc/debian_version' or ($deb_version= mtr_grab_file('/etc/debian_version')) !~ /^[0-9]+\.[0-9]$/ or $deb_version > 3.1 ) ) { push(@ld_library_paths, $debug_libraries_path); } $ENV{'LD_LIBRARY_PATH'}= join(":", @ld_library_paths, $ENV{'LD_LIBRARY_PATH'} ? split(':', $ENV{'LD_LIBRARY_PATH'}) : ()); mtr_debug("LD_LIBRARY_PATH: $ENV{'LD_LIBRARY_PATH'}"); $ENV{'DYLD_LIBRARY_PATH'}= join(":", @ld_library_paths, $ENV{'DYLD_LIBRARY_PATH'} ? split(':', $ENV{'DYLD_LIBRARY_PATH'}) : ()); mtr_debug("DYLD_LIBRARY_PATH: $ENV{'DYLD_LIBRARY_PATH'}"); # The environment variable used for shared libs on AIX $ENV{'SHLIB_PATH'}= join(":", @ld_library_paths, $ENV{'SHLIB_PATH'} ? split(':', $ENV{'SHLIB_PATH'}) : ()); mtr_debug("SHLIB_PATH: $ENV{'SHLIB_PATH'}"); # The environment variable used for shared libs on hp-ux $ENV{'LIBPATH'}= join(":", @ld_library_paths, $ENV{'LIBPATH'} ? split(':', $ENV{'LIBPATH'}) : ()); mtr_debug("LIBPATH: $ENV{'LIBPATH'}"); # -------------------------------------------------------------------------- # Also command lines in .opt files may contain env vars # -------------------------------------------------------------------------- $ENV{'CHARSETSDIR'}= $path_charsetsdir; $ENV{'UMASK'}= "0660"; # The octal *string* $ENV{'UMASK_DIR'}= "0770"; # The octal *string* # # MySQL tests can produce output in various character sets # (especially, ctype_xxx.test). To avoid confusing Perl # with output which is incompatible with the current locale # settings, we reset the current values of LC_ALL and LC_CTYPE to "C". # For details, please see # Bug#27636 tests fails if LC_* variables set to *_*.UTF-8 # $ENV{'LC_ALL'}= "C"; $ENV{'LC_CTYPE'}= "C"; $ENV{'LC_COLLATE'}= "C"; $ENV{'USE_RUNNING_SERVER'}= $opt_extern; $ENV{'MYSQL_TEST_DIR'}= $glob_mysql_test_dir; $ENV{'MYSQLTEST_VARDIR'}= $opt_vardir; $ENV{'MYSQL_TMP_DIR'}= $opt_tmpdir; $ENV{'MASTER_MYSOCK'}= $master->[0]->{'path_sock'}; $ENV{'MASTER_MYSOCK1'}= $master->[1]->{'path_sock'}; $ENV{'MASTER_MYPORT'}= $master->[0]->{'port'}; $ENV{'MASTER_MYPORT1'}= $master->[1]->{'port'}; $ENV{'SLAVE_MYSOCK'}= $slave->[0]->{'path_sock'}; $ENV{'SLAVE_MYPORT'}= $slave->[0]->{'port'}; $ENV{'SLAVE_MYPORT1'}= $slave->[1]->{'port'}; $ENV{'SLAVE_MYPORT2'}= $slave->[2]->{'port'}; $ENV{'MYSQL_TCP_PORT'}= $mysqld_variables{'port'}; $ENV{'DEFAULT_MASTER_PORT'}= $mysqld_variables{'master-port'}; $ENV{'IM_PATH_SOCK'}= $instance_manager->{path_sock}; $ENV{'IM_USERNAME'}= $instance_manager->{admin_login}; $ENV{'IM_PASSWORD'}= $instance_manager->{admin_password}; $ENV{MTR_BUILD_THREAD}= $opt_mtr_build_thread; $ENV{'EXE_MYSQL'}= $exe_mysql; # ---------------------------------------------------- # Setup env for NDB # ---------------------------------------------------- if ( ! $opt_skip_ndbcluster ) { $ENV{'NDB_MGM'}= $exe_ndb_mgm; $ENV{'NDBCLUSTER_PORT'}= $opt_ndbcluster_port; $ENV{'NDBCLUSTER_PORT_SLAVE'}= $opt_ndbcluster_port_slave; $ENV{'NDB_EXTRA_TEST'}= $opt_ndb_extra_test; $ENV{'NDB_BACKUP_DIR'}= $clusters->[0]->{'data_dir'}; $ENV{'NDB_DATA_DIR'}= $clusters->[0]->{'data_dir'}; $ENV{'NDB_TOOLS_DIR'}= $path_ndb_tools_dir; $ENV{'NDB_TOOLS_OUTPUT'}= $path_ndb_testrun_log; $ENV{'NDB_CONNECTSTRING'}= $opt_ndbconnectstring; if ( $mysql_version_id >= 50000 ) { $ENV{'NDB_EXAMPLES_DIR'}= $path_ndb_examples_dir; $ENV{'MY_NDB_EXAMPLES_BINARY'}= $exe_ndb_example; } $ENV{'NDB_EXAMPLES_OUTPUT'}= $path_ndb_testrun_log; } # ---------------------------------------------------- # Setup env for IM # ---------------------------------------------------- if ( ! $opt_skip_im ) { $ENV{'IM_EXE'}= $exe_im; $ENV{'IM_PATH_PID'}= $instance_manager->{path_pid}; $ENV{'IM_PATH_ANGEL_PID'}= $instance_manager->{path_angel_pid}; $ENV{'IM_PORT'}= $instance_manager->{port}; $ENV{'IM_DEFAULTS_PATH'}= $instance_manager->{defaults_file}; $ENV{'IM_PASSWORD_PATH'}= $instance_manager->{password_file}; $ENV{'IM_MYSQLD1_SOCK'}= $instance_manager->{instances}->[0]->{path_sock}; $ENV{'IM_MYSQLD1_PORT'}= $instance_manager->{instances}->[0]->{port}; $ENV{'IM_MYSQLD1_PATH_PID'}= $instance_manager->{instances}->[0]->{path_pid}; $ENV{'IM_MYSQLD2_SOCK'}= $instance_manager->{instances}->[1]->{path_sock}; $ENV{'IM_MYSQLD2_PORT'}= $instance_manager->{instances}->[1]->{port}; $ENV{'IM_MYSQLD2_PATH_PID'}= $instance_manager->{instances}->[1]->{path_pid}; } # ---------------------------------------------------- # Setup env so childs can execute mysqlcheck # ---------------------------------------------------- my $cmdline_mysqlcheck= mtr_native_path($exe_mysqlcheck) . " --no-defaults -uroot " . "--port=$master->[0]->{'port'} " . "--socket=$master->[0]->{'path_sock'} --password="; if ( $opt_debug ) { $cmdline_mysqlcheck .= " --debug=d:t:A,$path_vardir_trace/log/mysqlcheck.trace"; } $ENV{'MYSQL_CHECK'}= $cmdline_mysqlcheck; # ---------------------------------------------------- # Setup env to childs can execute myqldump # ---------------------------------------------------- my $cmdline_mysqldump= generate_cmdline_mysqldump($master->[0]); my $cmdline_mysqldumpslave= generate_cmdline_mysqldump($slave->[0]); if ( $opt_debug ) { $cmdline_mysqldump .= " --debug=d:t:A,$path_vardir_trace/log/mysqldump-master.trace"; $cmdline_mysqldumpslave .= " --debug=d:t:A,$path_vardir_trace/log/mysqldump-slave.trace"; } $ENV{'MYSQL_DUMP'}= $cmdline_mysqldump; $ENV{'MYSQL_DUMP_SLAVE'}= $cmdline_mysqldumpslave; # ---------------------------------------------------- # Setup env so childs can execute mysqlslap # ---------------------------------------------------- if ( $exe_mysqlslap ) { my $cmdline_mysqlslap= mtr_native_path($exe_mysqlslap) . " -uroot " . "--port=$master->[0]->{'port'} " . "--socket=$master->[0]->{'path_sock'} --password= " . "--lock-directory=$opt_tmpdir"; if ( $opt_debug ) { $cmdline_mysqlslap .= " --debug=d:t:A,$path_vardir_trace/log/mysqlslap.trace"; } $ENV{'MYSQL_SLAP'}= $cmdline_mysqlslap; } # ---------------------------------------------------- # Setup env so childs can execute mysqlimport # ---------------------------------------------------- my $cmdline_mysqlimport= mtr_native_path($exe_mysqlimport) . " -uroot " . "--port=$master->[0]->{'port'} " . "--socket=$master->[0]->{'path_sock'} --password="; if ( $opt_debug ) { $cmdline_mysqlimport .= " --debug=d:t:A,$path_vardir_trace/log/mysqlimport.trace"; } $ENV{'MYSQL_IMPORT'}= $cmdline_mysqlimport; # ---------------------------------------------------- # Setup env so childs can execute mysqlshow # ---------------------------------------------------- my $cmdline_mysqlshow= mtr_native_path($exe_mysqlshow) . " -uroot " . "--port=$master->[0]->{'port'} " . "--socket=$master->[0]->{'path_sock'} --password="; if ( $opt_debug ) { $cmdline_mysqlshow .= " --debug=d:t:A,$path_vardir_trace/log/mysqlshow.trace"; } $ENV{'MYSQL_SHOW'}= $cmdline_mysqlshow; # ---------------------------------------------------- # Setup env so childs can execute mysqlbinlog # ---------------------------------------------------- my $cmdline_mysqlbinlog= mtr_native_path($exe_mysqlbinlog) . " --no-defaults"; if (!$opt_extern && $mysql_version_id >= 50000 ) { $cmdline_mysqlbinlog .=" --character-sets-dir=$path_charsetsdir"; } if ( $opt_debug ) { $cmdline_mysqlbinlog .= " --debug=d:t:A,$path_vardir_trace/log/mysqlbinlog.trace"; } $ENV{'MYSQL_BINLOG'}= $cmdline_mysqlbinlog; # ---------------------------------------------------- # Setup env so childs can execute mysql # ---------------------------------------------------- my $cmdline_mysql= mtr_native_path($exe_mysql) . " --no-defaults --host=localhost --user=root --password= " . "--port=$master->[0]->{'port'} " . "--socket=$master->[0]->{'path_sock'} ". "--character-sets-dir=$path_charsetsdir"; $ENV{'MYSQL'}= $cmdline_mysql; # ---------------------------------------------------- # Setup env so childs can execute bug25714 # ---------------------------------------------------- $ENV{'MYSQL_BUG25714'}= $exe_bug25714; # ---------------------------------------------------- # Setup env so childs can execute mysql_client_test # ---------------------------------------------------- $ENV{'MYSQL_CLIENT_TEST'}= mysql_client_test_arguments(); # ---------------------------------------------------- # Setup env so childs can execute mysql_upgrade # ---------------------------------------------------- if ( !$opt_extern && $mysql_version_id >= 50000 ) { $ENV{'MYSQL_UPGRADE'}= mysql_upgrade_arguments(); } # ---------------------------------------------------- # Setup env so childs can execute mysql_fix_system_tables # ---------------------------------------------------- if ( !$opt_extern && ! $glob_win32 ) { my $cmdline_mysql_fix_system_tables= "$exe_mysql_fix_system_tables --no-defaults --host=localhost " . "--user=root --password= " . "--basedir=$glob_basedir --bindir=$path_client_bindir --verbose " . "--port=$master->[0]->{'port'} " . "--socket=$master->[0]->{'path_sock'}"; $ENV{'MYSQL_FIX_SYSTEM_TABLES'}= $cmdline_mysql_fix_system_tables; } $ENV{'MYSQL_FIX_PRIVILEGE_TABLES'}= $file_mysql_fix_privilege_tables; # ---------------------------------------------------- # Setup env so childs can execute my_print_defaults # ---------------------------------------------------- $ENV{'MYSQL_MY_PRINT_DEFAULTS'}= mtr_native_path($exe_my_print_defaults); # ---------------------------------------------------- # Setup env so childs can execute mysqladmin # ---------------------------------------------------- $ENV{'MYSQLADMIN'}= mtr_native_path($exe_mysqladmin); # ---------------------------------------------------- # Setup env so childs can execute perror # ---------------------------------------------------- $ENV{'MY_PERROR'}= mtr_native_path($exe_perror); # ---------------------------------------------------- # Add the path where mysqld will find udf_example.so # ---------------------------------------------------- $ENV{'UDF_EXAMPLE_LIB'}= ($lib_udf_example ? basename($lib_udf_example) : ""); $ENV{'LD_LIBRARY_PATH'}= ($lib_udf_example ? dirname($lib_udf_example) : "") . ($ENV
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -