Loading Build-tools/Do-compile +3 −3 Original line number Diff line number Diff line Loading @@ -4,10 +4,10 @@ use Getopt::Long; $opt_distribution=$opt_user=$opt_result=$opt_config_options=$opt_config_env=""; $opt_dbd_options=$opt_perl_options=$opt_suffix=""; $opt_tmp=$version_suffix=""; $opt_help=$opt_Information=$opt_no_delete=$opt_delete=$opt_debug=$opt_stage=$opt_rsh_mail=$opt_no_test=$opt_no_perl=$opt_with_low_memory=$opt_fast_benchmark=$opt_static_client=$opt_static_server=$opt_static_perl=$opt_sur=$opt_with_small_disk=$opt_local_perl=$opt_tcpip=$opt_build_thread=$opt_no_mysqltest=$opt_use_old_distribution=$opt_enable_shared=$opt_no_crash_me=$opt_no_strip=0; $opt_help=$opt_Information=$opt_delete=$opt_debug=$opt_stage=$opt_rsh_mail=$opt_no_test=$opt_no_perl=$opt_with_low_memory=$opt_fast_benchmark=$opt_static_client=$opt_static_server=$opt_static_perl=$opt_sur=$opt_with_small_disk=$opt_local_perl=$opt_tcpip=$opt_build_thread=$opt_no_mysqltest=$opt_use_old_distribution=$opt_enable_shared=$opt_no_crash_me=$opt_no_strip=0; $opt_innodb=$opt_bdb=0; GetOptions("Information","help","distribution=s","user=s","result=s","no-delete","delete","no-test","no-mysqltest","perl-files=s","debug","config-options=s","config-env=s","stage=i","rsh-mail","with-low-memory","fast-benchmark","tmp=s","static-client","static-server","static-perl","no-perl","local-perl","perl-options=s","sur","with-small-disk","dbd-options=s","tcpip","suffix=s","build-thread=i","innodb","bdb","use-old-distribution","enable-shared","no-crash-me","no-strip") || usage(); GetOptions("Information","help","distribution=s","user=s","result=s","delete","no-test","no-mysqltest","perl-files=s","debug","config-options=s","config-env=s","stage=i","rsh-mail","with-low-memory","fast-benchmark","tmp=s","static-client","static-server","static-perl","no-perl","local-perl","perl-options=s","sur","with-small-disk","dbd-options=s","tcpip","suffix=s","build-thread=i","innodb","bdb","use-old-distribution","enable-shared","no-crash-me","no-strip") || usage(); usage() if ($opt_help || $opt_Information); usage() if (!$opt_distribution); Loading Loading @@ -143,7 +143,7 @@ if ($opt_stage <= 1) if ($opt_stage <= 2) { unlink($opt_distribution) if (!$opt_delete && !$opt_use_old_distribution); unlink($opt_distribution) if ($opt_delete && !$opt_use_old_distribution); safe_system("$make"); } Loading Docs/manual.texi +3 −21 Original line number Diff line number Diff line Loading @@ -10151,31 +10151,13 @@ work). You must also use the @code{egcs} C++ compiler @node Linux-IA64, , Linux-MIPS, Linux @subsubsection Linux IA64 Notes To get MySQL to compile on Linux Ia64, we had to do the following (we assume that this will be easier when next gcc version for ia64 is released). Using @code{gcc-2.9-final}: @example CFLAGS="-O2" CXX=gcc CXXFLAGS="-O2 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-extra-charsets=complex @end example After @code{make} you will get an error that @code{sql/opt_range.cc} will not compile (internal compiler error). To fix this, go to the sql directory and type @code{make} again. Copy the compile line, but change -O2 to -O0. The file should now compile. Now you can do: To get MySQL to compile on Linux Ia64, we use the following compile line: Using @code{gcc-2.96}: @example cd .. make make_install CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql "--with-comment=Official MySQL binary" --with-extra-charsets=complex @end example and @code{mysqld} should be ready to run. On Ia64 the MySQL client binaries are using shared libraries. This means that if you install our binary distribution in some other place than @file{/usr/local/mysql} you need to either modify @file{/etc/ld.so.conf} mysql-test/mysql-test-run.sh +7 −1 Original line number Diff line number Diff line Loading @@ -113,6 +113,11 @@ SLAVE_LOAD_TMPDIR=../../var/tmp #needs to be same length to test logging RES_SPACE=" " MYSQLD_SRC_DIRS="strings mysys include extra regex isam merge myisam \ myisammrg heap sql" # # Set LD_LIBRARY_PATH if we are using shared libraries # LD_LIBRARY_PATH="$BASEDIR/lib:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH MASTER_RUNNING=0 MASTER_MYPORT=9306 Loading Loading @@ -574,17 +579,18 @@ start_slave() slave_args="--no-defaults $master_info \ --exit-info=256 \ --log-bin=slave-bin --log-slave-updates \ --log=$SLAVE_MYLOG \ --basedir=$MY_BASEDIR \ --datadir=$SLAVE_MYDDIR \ --pid-file=$SLAVE_MYPID \ --port=$SLAVE_MYPORT \ --socket=$SLAVE_MYSOCK \ --log=$SLAVE_MYLOG \ --character-sets-dir=$CHARSETSDIR \ --core \ --tmpdir=$MYSQL_TMP_DIR \ --language=$LANGUAGE \ --skip-innodb --skip-slave-start \ --master-retry-count=5 \ $SMALL_SERVER \ $EXTRA_SLAVE_OPT $EXTRA_SLAVE_MYSQLD_OPT" if [ x$DO_DDD = x1 ] Loading sql/mysqld.cc +6 −1 Original line number Diff line number Diff line Loading @@ -276,7 +276,7 @@ const char *localhost=LOCAL_HOST; const char *delayed_user="DELAYED"; uint master_port = MYSQL_PORT, master_connect_retry = 60; ulong max_tmp_tables,max_heap_table_size; ulong max_tmp_tables,max_heap_table_size,master_retry_count=0; ulong bytes_sent = 0L, bytes_received = 0L; bool opt_endinfo,using_udf_functions,low_priority_updates, locked_in_memory; Loading Loading @@ -2534,6 +2534,7 @@ enum options { OPT_MASTER_HOST, OPT_MASTER_USER, OPT_MASTER_PASSWORD, OPT_MASTER_PORT, OPT_MASTER_INFO_FILE, OPT_MASTER_CONNECT_RETRY, OPT_MASTER_RETRY_COUNT, OPT_SQL_BIN_UPDATE_SAME, OPT_REPLICATE_DO_DB, OPT_REPLICATE_IGNORE_DB, OPT_LOG_SLAVE_UPDATES, OPT_BINLOG_DO_DB, OPT_BINLOG_IGNORE_DB, Loading Loading @@ -2635,6 +2636,7 @@ static struct option long_options[] = { {"master-password", required_argument, 0, (int) OPT_MASTER_PASSWORD}, {"master-port", required_argument, 0, (int) OPT_MASTER_PORT}, {"master-connect-retry", required_argument, 0, (int) OPT_MASTER_CONNECT_RETRY}, {"master-retry-count", required_argument, 0, (int) OPT_MASTER_RETRY_COUNT}, {"master-info-file", required_argument, 0, (int) OPT_MASTER_INFO_FILE}, {"myisam-recover", optional_argument, 0, (int) OPT_MYISAM_RECOVER}, {"memlock", no_argument, 0, (int) OPT_MEMLOCK}, Loading Loading @@ -3859,6 +3861,9 @@ static void get_options(int argc,char **argv) case OPT_MASTER_CONNECT_RETRY: master_connect_retry= atoi(optarg); break; case OPT_MASTER_RETRY_COUNT: master_retry_count= atoi(optarg); break; case OPT_SAFE_SHOW_DB: opt_safe_show_db=1; break; Loading sql/slave.cc +33 −16 Original line number Diff line number Diff line Loading @@ -504,7 +504,7 @@ int init_master_info(MASTER_INFO* mi) if (master_user) strmake(mi->user, master_user, sizeof(mi->user) - 1); if (master_password) strmake(mi->password, master_password, sizeof(mi->password) - 1); strmake(mi->password, master_password, HASH_PASSWORD_LENGTH); mi->port = master_port; mi->connect_retry = master_connect_retry; } Loading Loading @@ -543,7 +543,7 @@ int init_master_info(MASTER_INFO* mi) master_host) || init_strvar_from_file(mi->user, sizeof(mi->user), &mi->file, master_user) || init_strvar_from_file(mi->password, sizeof(mi->password), &mi->file, init_strvar_from_file(mi->password, HASH_PASSWORD_LENGTH+1, &mi->file, master_password) || init_intvar_from_file((int*)&mi->port, &mi->file, master_port) || init_intvar_from_file((int*)&mi->connect_retry, &mi->file, Loading Loading @@ -1452,26 +1452,43 @@ static int safe_connect(THD* thd, MYSQL* mysql, MASTER_INFO* mi) return slave_was_killed; } /* try to connect until successful or slave killed */ /* Try to connect until successful or slave killed or we have retried master_retry_count times */ static int safe_reconnect(THD* thd, MYSQL* mysql, MASTER_INFO* mi) { int slave_was_killed; int last_errno= -2; // impossible error ulong err_count=0; char llbuff[22]; // if we lost connection after reading a state set event // we will be re-reading it, so pending needs to be cleared /* If we lost connection after reading a state set event we will be re-reading it, so pending needs to be cleared */ mi->pending = 0; #ifndef DBUG_OFF events_till_disconnect = disconnect_slave_event_count; #endif while (!(slave_was_killed = slave_killed(thd)) && mc_mysql_reconnect(mysql)) { /* Don't repeat last error */ if (mc_mysql_errno(mysql) != last_errno) { sql_print_error("Slave thread: error re-connecting to master: \ %s, last_errno=%d, retry in %d sec", mc_mysql_error(mysql), errno, mi->connect_retry); mc_mysql_error(mysql), last_errno=mc_mysql_errno(mysql), mi->connect_retry); safe_sleep(thd, mi->connect_retry); } if (err_count++ == master_retry_count) { slave_was_killed=1; break; } } if (!slave_was_killed) { Loading Loading
Build-tools/Do-compile +3 −3 Original line number Diff line number Diff line Loading @@ -4,10 +4,10 @@ use Getopt::Long; $opt_distribution=$opt_user=$opt_result=$opt_config_options=$opt_config_env=""; $opt_dbd_options=$opt_perl_options=$opt_suffix=""; $opt_tmp=$version_suffix=""; $opt_help=$opt_Information=$opt_no_delete=$opt_delete=$opt_debug=$opt_stage=$opt_rsh_mail=$opt_no_test=$opt_no_perl=$opt_with_low_memory=$opt_fast_benchmark=$opt_static_client=$opt_static_server=$opt_static_perl=$opt_sur=$opt_with_small_disk=$opt_local_perl=$opt_tcpip=$opt_build_thread=$opt_no_mysqltest=$opt_use_old_distribution=$opt_enable_shared=$opt_no_crash_me=$opt_no_strip=0; $opt_help=$opt_Information=$opt_delete=$opt_debug=$opt_stage=$opt_rsh_mail=$opt_no_test=$opt_no_perl=$opt_with_low_memory=$opt_fast_benchmark=$opt_static_client=$opt_static_server=$opt_static_perl=$opt_sur=$opt_with_small_disk=$opt_local_perl=$opt_tcpip=$opt_build_thread=$opt_no_mysqltest=$opt_use_old_distribution=$opt_enable_shared=$opt_no_crash_me=$opt_no_strip=0; $opt_innodb=$opt_bdb=0; GetOptions("Information","help","distribution=s","user=s","result=s","no-delete","delete","no-test","no-mysqltest","perl-files=s","debug","config-options=s","config-env=s","stage=i","rsh-mail","with-low-memory","fast-benchmark","tmp=s","static-client","static-server","static-perl","no-perl","local-perl","perl-options=s","sur","with-small-disk","dbd-options=s","tcpip","suffix=s","build-thread=i","innodb","bdb","use-old-distribution","enable-shared","no-crash-me","no-strip") || usage(); GetOptions("Information","help","distribution=s","user=s","result=s","delete","no-test","no-mysqltest","perl-files=s","debug","config-options=s","config-env=s","stage=i","rsh-mail","with-low-memory","fast-benchmark","tmp=s","static-client","static-server","static-perl","no-perl","local-perl","perl-options=s","sur","with-small-disk","dbd-options=s","tcpip","suffix=s","build-thread=i","innodb","bdb","use-old-distribution","enable-shared","no-crash-me","no-strip") || usage(); usage() if ($opt_help || $opt_Information); usage() if (!$opt_distribution); Loading Loading @@ -143,7 +143,7 @@ if ($opt_stage <= 1) if ($opt_stage <= 2) { unlink($opt_distribution) if (!$opt_delete && !$opt_use_old_distribution); unlink($opt_distribution) if ($opt_delete && !$opt_use_old_distribution); safe_system("$make"); } Loading
Docs/manual.texi +3 −21 Original line number Diff line number Diff line Loading @@ -10151,31 +10151,13 @@ work). You must also use the @code{egcs} C++ compiler @node Linux-IA64, , Linux-MIPS, Linux @subsubsection Linux IA64 Notes To get MySQL to compile on Linux Ia64, we had to do the following (we assume that this will be easier when next gcc version for ia64 is released). Using @code{gcc-2.9-final}: @example CFLAGS="-O2" CXX=gcc CXXFLAGS="-O2 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-extra-charsets=complex @end example After @code{make} you will get an error that @code{sql/opt_range.cc} will not compile (internal compiler error). To fix this, go to the sql directory and type @code{make} again. Copy the compile line, but change -O2 to -O0. The file should now compile. Now you can do: To get MySQL to compile on Linux Ia64, we use the following compile line: Using @code{gcc-2.96}: @example cd .. make make_install CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql "--with-comment=Official MySQL binary" --with-extra-charsets=complex @end example and @code{mysqld} should be ready to run. On Ia64 the MySQL client binaries are using shared libraries. This means that if you install our binary distribution in some other place than @file{/usr/local/mysql} you need to either modify @file{/etc/ld.so.conf}
mysql-test/mysql-test-run.sh +7 −1 Original line number Diff line number Diff line Loading @@ -113,6 +113,11 @@ SLAVE_LOAD_TMPDIR=../../var/tmp #needs to be same length to test logging RES_SPACE=" " MYSQLD_SRC_DIRS="strings mysys include extra regex isam merge myisam \ myisammrg heap sql" # # Set LD_LIBRARY_PATH if we are using shared libraries # LD_LIBRARY_PATH="$BASEDIR/lib:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH MASTER_RUNNING=0 MASTER_MYPORT=9306 Loading Loading @@ -574,17 +579,18 @@ start_slave() slave_args="--no-defaults $master_info \ --exit-info=256 \ --log-bin=slave-bin --log-slave-updates \ --log=$SLAVE_MYLOG \ --basedir=$MY_BASEDIR \ --datadir=$SLAVE_MYDDIR \ --pid-file=$SLAVE_MYPID \ --port=$SLAVE_MYPORT \ --socket=$SLAVE_MYSOCK \ --log=$SLAVE_MYLOG \ --character-sets-dir=$CHARSETSDIR \ --core \ --tmpdir=$MYSQL_TMP_DIR \ --language=$LANGUAGE \ --skip-innodb --skip-slave-start \ --master-retry-count=5 \ $SMALL_SERVER \ $EXTRA_SLAVE_OPT $EXTRA_SLAVE_MYSQLD_OPT" if [ x$DO_DDD = x1 ] Loading
sql/mysqld.cc +6 −1 Original line number Diff line number Diff line Loading @@ -276,7 +276,7 @@ const char *localhost=LOCAL_HOST; const char *delayed_user="DELAYED"; uint master_port = MYSQL_PORT, master_connect_retry = 60; ulong max_tmp_tables,max_heap_table_size; ulong max_tmp_tables,max_heap_table_size,master_retry_count=0; ulong bytes_sent = 0L, bytes_received = 0L; bool opt_endinfo,using_udf_functions,low_priority_updates, locked_in_memory; Loading Loading @@ -2534,6 +2534,7 @@ enum options { OPT_MASTER_HOST, OPT_MASTER_USER, OPT_MASTER_PASSWORD, OPT_MASTER_PORT, OPT_MASTER_INFO_FILE, OPT_MASTER_CONNECT_RETRY, OPT_MASTER_RETRY_COUNT, OPT_SQL_BIN_UPDATE_SAME, OPT_REPLICATE_DO_DB, OPT_REPLICATE_IGNORE_DB, OPT_LOG_SLAVE_UPDATES, OPT_BINLOG_DO_DB, OPT_BINLOG_IGNORE_DB, Loading Loading @@ -2635,6 +2636,7 @@ static struct option long_options[] = { {"master-password", required_argument, 0, (int) OPT_MASTER_PASSWORD}, {"master-port", required_argument, 0, (int) OPT_MASTER_PORT}, {"master-connect-retry", required_argument, 0, (int) OPT_MASTER_CONNECT_RETRY}, {"master-retry-count", required_argument, 0, (int) OPT_MASTER_RETRY_COUNT}, {"master-info-file", required_argument, 0, (int) OPT_MASTER_INFO_FILE}, {"myisam-recover", optional_argument, 0, (int) OPT_MYISAM_RECOVER}, {"memlock", no_argument, 0, (int) OPT_MEMLOCK}, Loading Loading @@ -3859,6 +3861,9 @@ static void get_options(int argc,char **argv) case OPT_MASTER_CONNECT_RETRY: master_connect_retry= atoi(optarg); break; case OPT_MASTER_RETRY_COUNT: master_retry_count= atoi(optarg); break; case OPT_SAFE_SHOW_DB: opt_safe_show_db=1; break; Loading
sql/slave.cc +33 −16 Original line number Diff line number Diff line Loading @@ -504,7 +504,7 @@ int init_master_info(MASTER_INFO* mi) if (master_user) strmake(mi->user, master_user, sizeof(mi->user) - 1); if (master_password) strmake(mi->password, master_password, sizeof(mi->password) - 1); strmake(mi->password, master_password, HASH_PASSWORD_LENGTH); mi->port = master_port; mi->connect_retry = master_connect_retry; } Loading Loading @@ -543,7 +543,7 @@ int init_master_info(MASTER_INFO* mi) master_host) || init_strvar_from_file(mi->user, sizeof(mi->user), &mi->file, master_user) || init_strvar_from_file(mi->password, sizeof(mi->password), &mi->file, init_strvar_from_file(mi->password, HASH_PASSWORD_LENGTH+1, &mi->file, master_password) || init_intvar_from_file((int*)&mi->port, &mi->file, master_port) || init_intvar_from_file((int*)&mi->connect_retry, &mi->file, Loading Loading @@ -1452,26 +1452,43 @@ static int safe_connect(THD* thd, MYSQL* mysql, MASTER_INFO* mi) return slave_was_killed; } /* try to connect until successful or slave killed */ /* Try to connect until successful or slave killed or we have retried master_retry_count times */ static int safe_reconnect(THD* thd, MYSQL* mysql, MASTER_INFO* mi) { int slave_was_killed; int last_errno= -2; // impossible error ulong err_count=0; char llbuff[22]; // if we lost connection after reading a state set event // we will be re-reading it, so pending needs to be cleared /* If we lost connection after reading a state set event we will be re-reading it, so pending needs to be cleared */ mi->pending = 0; #ifndef DBUG_OFF events_till_disconnect = disconnect_slave_event_count; #endif while (!(slave_was_killed = slave_killed(thd)) && mc_mysql_reconnect(mysql)) { /* Don't repeat last error */ if (mc_mysql_errno(mysql) != last_errno) { sql_print_error("Slave thread: error re-connecting to master: \ %s, last_errno=%d, retry in %d sec", mc_mysql_error(mysql), errno, mi->connect_retry); mc_mysql_error(mysql), last_errno=mc_mysql_errno(mysql), mi->connect_retry); safe_sleep(thd, mi->connect_retry); } if (err_count++ == master_retry_count) { slave_was_killed=1; break; } } if (!slave_was_killed) { Loading