Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
6c1344a1
Commit
6c1344a1
authored
Oct 04, 2001
by
monty@hundin.mysql.fi
Browse files
Options
Browse Files
Download
Plain Diff
Merge work:/home/bk/mysql-4.0 into hundin.mysql.fi:/my/bk/mysql-4.0
parents
62c80141
18053685
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
53 additions
and
47 deletions
+53
-47
Build-tools/Do-compile
Build-tools/Do-compile
+4
-2
Docs/manual.texi
Docs/manual.texi
+3
-21
mysql-test/mysql-test-run.sh
mysql-test/mysql-test-run.sh
+7
-1
sql/mysqld.cc
sql/mysqld.cc
+6
-7
sql/slave.cc
sql/slave.cc
+32
-15
sql/slave.h
sql/slave.h
+1
-1
No files found.
Build-tools/Do-compile
View file @
6c1344a1
...
...
@@ -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
);
...
...
@@ -128,6 +128,8 @@ if ($opt_stage <= 1)
$opt_config_options
.=
"
--with-low-memory
"
if
(
$opt_with_low_memory
);
# Fix files if this is in another timezone than work.mysql.com
unlink
("
config.cache
");
unlink
("
bdb/build_unix/config.cache
");
unlink
("
innobase/config.cache
");
log_system
("
$make
clean
")
if
(
$opt_use_old_distribution
);
if
(
$opt_static_server
)
{
...
...
Docs/manual.texi
View file @
6c1344a1
...
...
@@ -9840,31 +9840,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
View file @
6c1344a1
...
...
@@ -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
...
...
@@ -580,12 +585,12 @@ start_slave()
--exit-info=256
\
--log-bin=
$MYSQL_TEST_DIR
/var/log/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
\
--default-character-set=
$CHARACTER_SET
\
--core
\
...
...
@@ -595,6 +600,7 @@ start_slave()
--slave-load-tmpdir=
$SLAVE_LOAD_TMPDIR
\
--report-host=127.0.0.1 --report-user=root
\
--report-port=
$SLAVE_MYPORT
\
--master-retry-count=5
\
$SMALL_SERVER
\
$EXTRA_SLAVE_OPT
$EXTRA_SLAVE_MYSQLD_OPT
"
if
[
x
$DO_DDD
=
x1
]
...
...
sql/mysqld.cc
View file @
6c1344a1
...
...
@@ -286,7 +286,7 @@ uint master_port = MYSQL_PORT, master_connect_retry = 60;
uint
report_port
=
MYSQL_PORT
;
bool
master_ssl
=
0
;
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
;
...
...
@@ -2573,10 +2573,9 @@ enum options {
OPT_MASTER_HOST
,
OPT_MASTER_USER
,
OPT_MASTER_PASSWORD
,
OPT_MASTER_PORT
,
OPT_MASTER_INFO_FILE
,
OPT_MASTER_CONNECT_RETRY
,
#ifdef HAVE_OPENSSL
OPT_MASTER_RETRY_COUNT
,
OPT_MASTER_SSL
,
OPT_MASTER_SSL_KEY
,
OPT_MASTER_SSL_CERT
,
#endif
/* HAVE_OPESSSL*/
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
,
...
...
@@ -2683,12 +2682,11 @@ 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
},
#ifdef HAVE_OPENSSL
{
"master-ssl"
,
optional_argument
,
0
,
(
int
)
OPT_MASTER_SSL
},
{
"master-ssl-key"
,
optional_argument
,
0
,
(
int
)
OPT_MASTER_SSL_KEY
},
{
"master-ssl-cert"
,
optional_argument
,
0
,
(
int
)
OPT_MASTER_SSL_CERT
},
#endif
{
"myisam-recover"
,
optional_argument
,
0
,
(
int
)
OPT_MYISAM_RECOVER
},
{
"memlock"
,
no_argument
,
0
,
(
int
)
OPT_MEMLOCK
},
// needs to be available for the test case to pass in non-debugging mode
...
...
@@ -3972,7 +3970,6 @@ static void get_options(int argc,char **argv)
case
OPT_MASTER_PORT
:
master_port
=
atoi
(
optarg
);
break
;
#ifdef HAVE_OPENSSL
case
OPT_MASTER_SSL
:
master_ssl
=
atoi
(
optarg
);
break
;
...
...
@@ -3982,7 +3979,6 @@ static void get_options(int argc,char **argv)
case
OPT_MASTER_SSL_CERT
:
master_ssl_cert
=
optarg
;
break
;
#endif
/* HAVE_OPENSSL */
case
OPT_REPORT_HOST
:
report_host
=
optarg
;
break
;
...
...
@@ -3998,6 +3994,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
;
...
...
sql/slave.cc
View file @
6c1344a1
...
...
@@ -522,7 +522,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
;
}
...
...
@@ -561,7 +561,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
,
...
...
@@ -1250,7 +1250,7 @@ static int safe_connect(THD* thd, MYSQL* mysql, MASTER_INFO* mi)
!
mc_mysql_connect
(
mysql
,
mi
->
host
,
mi
->
user
,
mi
->
password
,
0
,
mi
->
port
,
0
,
0
))
{
sql_print_error
(
"Slave thread: error connecting to master:
%s
(%d),\
sql_print_error
(
"Slave thread: error connecting to master:
%s
(%d),\
retry in %d sec"
,
mc_mysql_error
(
mysql
),
errno
,
mi
->
connect_retry
);
safe_sleep
(
thd
,
mi
->
connect_retry
);
}
...
...
@@ -1267,38 +1267,55 @@ 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
))
while
(
!
(
slave_was_killed
=
slave_killed
(
thd
))
&&
mc_mysql_reconnect
(
mysql
))
{
sql_print_error
(
"Slave thread: error re-connecting to master:\
/* 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
);
safe_sleep
(
thd
,
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
)
{
sql_print_error
(
"Slave: reconnected to master '%s@%s:%d',\
if
(
!
slave_was_killed
)
{
sql_print_error
(
"Slave: reconnected to master '%s@%s:%d',\
replication resumed in log '%s' at position %s"
,
glob_mi
.
user
,
glob_mi
.
host
,
glob_mi
.
port
,
RPL_LOG_NAME
,
llstr
(
glob_mi
.
pos
,
llbuff
));
#ifdef SIGNAL_WITH_VIO_CLOSE
thd
->
set_active_vio
(
mysql
->
net
.
vio
);
thd
->
set_active_vio
(
mysql
->
net
.
vio
);
#endif
}
}
return
slave_was_killed
;
}
...
...
sql/slave.h
View file @
6c1344a1
...
...
@@ -4,7 +4,7 @@
#include "mysql.h"
#define SLAVE_NET_TIMEOUT 3600
extern
ulong
slave_net_timeout
;
extern
ulong
slave_net_timeout
,
master_retry_count
;
extern
char
*
slave_load_tmpdir
;
typedef
struct
st_master_info
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment