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
0ae142f5
Commit
0ae142f5
authored
Jan 24, 2001
by
sasha@mysql.sashanet.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge work:/home/bk/mysql
into mysql.sashanet.com:/home/sasha/src/bk/mysql
parents
38ede907
e8ffda53
Changes
37
Show whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
281 additions
and
63 deletions
+281
-63
include/my_sys.h
include/my_sys.h
+1
-1
include/mysqld_error.h
include/mysqld_error.h
+6
-1
mysql-test/r/rpl000014.result
mysql-test/r/rpl000014.result
+8
-8
mysql-test/r/rpl000015.result
mysql-test/r/rpl000015.result
+8
-8
mysql-test/r/rpl000016.result
mysql-test/r/rpl000016.result
+14
-5
mysql-test/t/rpl000016-master.opt
mysql-test/t/rpl000016-master.opt
+1
-0
mysql-test/t/rpl000016.test
mysql-test/t/rpl000016.test
+39
-3
mysys/my_vsnprintf.c
mysys/my_vsnprintf.c
+7
-0
sql/gen_lex_hash.cc
sql/gen_lex_hash.cc
+2
-2
sql/lex.h
sql/lex.h
+1
-0
sql/log.cc
sql/log.cc
+16
-2
sql/mysqld.cc
sql/mysqld.cc
+5
-2
sql/share/czech/errmsg.txt
sql/share/czech/errmsg.txt
+5
-0
sql/share/danish/errmsg.txt
sql/share/danish/errmsg.txt
+5
-0
sql/share/dutch/errmsg.txt
sql/share/dutch/errmsg.txt
+5
-0
sql/share/english/errmsg.txt
sql/share/english/errmsg.txt
+6
-1
sql/share/estonian/errmsg.txt
sql/share/estonian/errmsg.txt
+5
-0
sql/share/french/errmsg.txt
sql/share/french/errmsg.txt
+5
-0
sql/share/german/errmsg.txt
sql/share/german/errmsg.txt
+5
-0
sql/share/greek/errmsg.txt
sql/share/greek/errmsg.txt
+5
-0
sql/share/hungarian/errmsg.txt
sql/share/hungarian/errmsg.txt
+5
-0
sql/share/italian/errmsg.txt
sql/share/italian/errmsg.txt
+5
-0
sql/share/japanese/errmsg.txt
sql/share/japanese/errmsg.txt
+5
-0
sql/share/korean/errmsg.txt
sql/share/korean/errmsg.txt
+5
-0
sql/share/norwegian-ny/errmsg.txt
sql/share/norwegian-ny/errmsg.txt
+5
-0
sql/share/norwegian/errmsg.txt
sql/share/norwegian/errmsg.txt
+5
-0
sql/share/polish/errmsg.txt
sql/share/polish/errmsg.txt
+5
-0
sql/share/portuguese/errmsg.txt
sql/share/portuguese/errmsg.txt
+5
-0
sql/share/romanian/errmsg.txt
sql/share/romanian/errmsg.txt
+5
-0
sql/share/russian/errmsg.txt
sql/share/russian/errmsg.txt
+14
-9
sql/share/slovak/errmsg.txt
sql/share/slovak/errmsg.txt
+5
-0
sql/share/spanish/errmsg.txt
sql/share/spanish/errmsg.txt
+5
-0
sql/share/swedish/errmsg.txt
sql/share/swedish/errmsg.txt
+5
-0
sql/slave.cc
sql/slave.cc
+30
-9
sql/slave.h
sql/slave.h
+5
-0
sql/sql_repl.cc
sql/sql_repl.cc
+12
-12
sql/sql_yacc.yy
sql/sql_yacc.yy
+11
-0
No files found.
include/my_sys.h
View file @
0ae142f5
...
...
@@ -425,7 +425,7 @@ extern int my_printf_error _VARARGS((uint my_err, const char *format,
__attribute__
((
format
(
printf
,
2
,
4
))));
extern
int
my_vsnprintf
(
char
*
str
,
size_t
n
,
const
char
*
format
,
va_list
ap
);
extern
int
my_snprintf
(
char
*
to
,
size_t
n
,
const
char
*
fmt
,
...);
extern
int
my_message
(
uint
my_err
,
const
char
*
str
,
myf
MyFlags
);
extern
int
my_message_no_curses
(
uint
my_err
,
const
char
*
str
,
myf
MyFlags
);
extern
int
my_message_curses
(
uint
my_err
,
const
char
*
str
,
myf
MyFlags
);
...
...
include/mysqld_error.h
View file @
0ae142f5
...
...
@@ -198,4 +198,9 @@
#define ER_CRASHED_ON_REPAIR 1195
#define ER_WARNING_NOT_COMPLETE_ROLLBACK 1196
#define ER_TRANS_CACHE_FULL 1197
#define ER_ERROR_MESSAGES 198
#define ER_SLAVE_MUST_STOP 1198
#define ER_SLAVE_NOT_RUNNING 1199
#define ER_BAD_SLAVE 1200
#define ER_MASTER_INFO 1201
#define ER_SLAVE_THREAD 1202
#define ER_ERROR_MESSAGES 203
mysql-test/r/rpl000014.result
View file @
0ae142f5
File Position Binlog_do_db Binlog_ignore_db
master-bin.001 73
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 1 master-bin.001 73 Yes
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 1 master-bin.001 73 No
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 1 master-bin.001 73 Yes
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 1 master-bin.001 173 Yes
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
Last_errno Last_error Skip_counter
127.0.0.1 root 9306 1 master-bin.001 73 Yes
0 0
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
Last_errno Last_error Skip_counter
127.0.0.1 root 9306 1 master-bin.001 73 No
0 0
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
Last_errno Last_error Skip_counter
127.0.0.1 root 9306 1 master-bin.001 73 Yes
0 0
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
Last_errno Last_error Skip_counter
127.0.0.1 root 9306 1 master-bin.001 173 Yes
0 0
File Position Binlog_do_db Binlog_ignore_db
master-bin.001 73
n
...
...
mysql-test/r/rpl000015.result
View file @
0ae142f5
File Position Binlog_do_db Binlog_ignore_db
master-bin.001 73
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
0 0 0 No
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 test 3306 60 4 No
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 60 4 No
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 60 master-bin.001 73 Yes
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
Last_errno Last_error Skip_counter
0 0 0 No
0 0
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
Last_errno Last_error Skip_counter
127.0.0.1 test 3306 60 4 No
0 0
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
Last_errno Last_error Skip_counter
127.0.0.1 root 9306 60 4 No
0 0
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
Last_errno Last_error Skip_counter
127.0.0.1 root 9306 60 master-bin.001 73 Yes
0 0
n
10
45
...
...
mysql-test/r/rpl000016.result
View file @
0ae142f5
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 60 master-bin.001 216 Yes
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
Last_errno Last_error Skip_counter
127.0.0.1 root 9306 60 master-bin.001 216 Yes
0 0
s
Could not break slave
Tried hard
...
...
@@ -7,12 +7,21 @@ Log_name
master-bin.001
master-bin.002
master-bin.003
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter
127.0.0.1 root 9306 60 master-bin.003 129 Yes 1062 error 'Duplicate entry '1234' for key 1' on query 'insert into t2 values(1234)' 0
Log_name
master-bin.003
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 60 master-bin.003 1
28 Yes
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
Last_errno Last_error Skip_counter
127.0.0.1 root 9306 60 master-bin.003 1
84 Yes 0 0
m
34
65
67
123
65
1234
Log_name
master-bin.003
master-bin.004
master-bin.005
count(*)
100
mysql-test/t/rpl000016-master.opt
0 → 100644
View file @
0ae142f5
-O max_binlog_size=2048
mysql-test/t/rpl000016.test
View file @
0ae142f5
...
...
@@ -26,14 +26,33 @@ select * from t1;
connection
master
;
flush
logs
;
drop
table
if
exists
t2
;
create
table
t2
(
m
int
);
create
table
t2
(
m
int
not
null
primary
key
);
insert
into
t2
values
(
34
),(
67
),(
123
);
save_master_pos
;
flush
logs
;
show
master
logs
;
#now lets make some duplicate key mess and see if we can recover from it
#first insert a value on the slave
connection
slave
;
sync_with_master
;
insert
into
t2
values
(
1234
);
#same value on the master
connection
master
;
save_master_pos
;
insert
into
t2
values
(
1234
);
connection
slave
;
sync_with_master
;
#the slave may have already stopped, so we ignore the error
!
slave
stop
;
#restart slave skipping one event
set
sql_slave_skip_counter
=
1
;
slave
start
;
connection
master
;
save_master_pos
;
#let slave catch up
connection
slave
;
sync_with_master
;
show
slave
status
;
connection
master
;
purge
master
logs
to
'master-bin.003'
;
show
master
logs
;
...
...
@@ -43,6 +62,23 @@ connection slave;
sync_with_master
;
show
slave
status
;
select
*
from
t2
;
drop
table
if
exists
t1
,
t2
;
connection
master
;
drop
table
if
exists
t1
,
t2
;
let
$
1
=
100
;
drop
table
if
exists
t3
;
create
table
t3
(
n
int
);
while
(
$
1
)
{
insert
into
t3
values
(
4
);
dec
$
1
;
}
show
master
logs
;
save_master_pos
;
connection
slave
;
sync_with_master
;
select
count
(
*
)
from
t3
where
n
=
4
;
#clean up
connection
master
;
drop
table
if
exists
t1
,
t2
,
t3
;
save_master_pos
;
connection
slave
;
sync_with_master
;
mysys/my_vsnprintf.c
View file @
0ae142f5
...
...
@@ -21,6 +21,13 @@
#include <stdarg.h>
#include <m_ctype.h>
int
my_snprintf
(
char
*
to
,
size_t
n
,
const
char
*
fmt
,
...)
{
va_list
args
;
va_start
(
args
,
fmt
);
return
my_vsnprintf
(
to
,
n
,
fmt
,
args
);
}
int
my_vsnprintf
(
char
*
to
,
size_t
n
,
const
char
*
fmt
,
va_list
ap
)
{
char
*
start
=
to
,
*
end
=
to
+
n
-
1
;
...
...
sql/gen_lex_hash.cc
View file @
0ae142f5
...
...
@@ -472,7 +472,7 @@ int main(int argc,char **argv)
int
error
;
MY_INIT
(
argv
[
0
]);
start_value
=
4424889L
;
best_t1
=
3207460L
;
best_t2
=
481534L
;
best_type
=
0
;
/* mode=4451 add=8
type: 0 */
start_value
=
5315771L
;
best_t1
=
6916833L
;
best_t2
=
3813748L
;
best_type
=
3
;
/* mode=5839 add=5
type: 0 */
if
(
get_options
(
argc
,(
char
**
)
argv
))
exit
(
1
);
...
...
sql/lex.h
View file @
0ae142f5
...
...
@@ -283,6 +283,7 @@ static SYMBOL symbols[] = {
{
"SQL_QUOTE_SHOW_CREATE"
,
SYM
(
SQL_QUOTE_SHOW_CREATE
),
0
,
0
},
{
"SQL_SAFE_UPDATES"
,
SYM
(
SQL_SAFE_UPDATES
),
0
,
0
},
{
"SQL_SELECT_LIMIT"
,
SYM
(
SQL_SELECT_LIMIT
),
0
,
0
},
{
"SQL_SLAVE_SKIP_COUNTER"
,
SYM
(
SQL_SLAVE_SKIP_COUNTER
),
0
,
0
},
{
"SQL_SMALL_RESULT"
,
SYM
(
SQL_SMALL_RESULT
),
0
,
0
},
{
"SQL_WARNINGS"
,
SYM
(
SQL_WARNINGS
),
0
,
0
},
{
"STRAIGHT_JOIN"
,
SYM
(
STRAIGHT_JOIN
),
0
,
0
},
...
...
sql/log.cc
View file @
0ae142f5
...
...
@@ -28,6 +28,7 @@
MYSQL_LOG
mysql_log
,
mysql_update_log
,
mysql_slow_log
,
mysql_bin_log
;
extern
I_List
<
i_string
>
binlog_do_db
,
binlog_ignore_db
;
extern
ulong
max_binlog_size
;
static
bool
test_if_number
(
const
char
*
str
,
long
*
res
,
bool
allow_wildcards
);
...
...
@@ -609,6 +610,8 @@ bool MYSQL_LOG::write(Query_log_event* event_info)
{
/* In most cases this is only called if 'is_open()' is true */
bool
error
=
0
;
bool
should_rotate
=
0
;
if
(
!
inited
)
// Can't use mutex if not init
return
0
;
VOID
(
pthread_mutex_lock
(
&
LOCK_log
));
...
...
@@ -655,7 +658,7 @@ bool MYSQL_LOG::write(Query_log_event* event_info)
file
==
&
log_file
&&
flush_io_cache
(
file
))
goto
err
;
error
=
0
;
should_rotate
=
(
file
==
&
log_file
&&
my_b_tell
(
file
)
>=
max_binlog_size
);
err:
if
(
error
)
{
...
...
@@ -669,6 +672,8 @@ err:
VOID
(
pthread_cond_broadcast
(
&
COND_binlog_update
));
}
VOID
(
pthread_mutex_unlock
(
&
LOCK_log
));
if
(
should_rotate
)
new_file
();
return
error
;
}
...
...
@@ -682,6 +687,7 @@ bool MYSQL_LOG::write(IO_CACHE *cache)
{
VOID
(
pthread_mutex_lock
(
&
LOCK_log
));
bool
error
=
1
;
if
(
is_open
())
{
uint
length
;
...
...
@@ -723,6 +729,7 @@ err:
VOID
(
pthread_cond_broadcast
(
&
COND_binlog_update
));
VOID
(
pthread_mutex_unlock
(
&
LOCK_log
));
return
error
;
}
...
...
@@ -730,6 +737,8 @@ err:
bool
MYSQL_LOG
::
write
(
Load_log_event
*
event_info
)
{
bool
error
=
0
;
bool
should_rotate
=
0
;
if
(
inited
)
{
VOID
(
pthread_mutex_lock
(
&
LOCK_log
));
...
...
@@ -745,11 +754,16 @@ bool MYSQL_LOG::write(Load_log_event* event_info)
sql_print_error
(
ER
(
ER_ERROR_ON_WRITE
),
name
,
errno
);
error
=
write_error
=
1
;
}
should_rotate
=
(
my_b_tell
(
&
log_file
)
>=
max_binlog_size
);
VOID
(
pthread_cond_broadcast
(
&
COND_binlog_update
));
}
}
VOID
(
pthread_mutex_unlock
(
&
LOCK_log
));
}
if
(
should_rotate
)
new_file
();
return
error
;
}
...
...
sql/mysqld.cc
View file @
0ae142f5
...
...
@@ -238,7 +238,7 @@ ulong keybuff_size,sortbuff_size,max_item_sort_length,table_cache_size,
query_buff_size
,
lower_case_table_names
,
mysqld_net_retry_count
,
net_interactive_timeout
,
slow_launch_time
=
2L
,
net_read_timeout
,
net_write_timeout
,
slave_open_temp_tables
=
0
,
open_files_limit
=
0
;
open_files_limit
=
0
,
max_binlog_size
;
ulong
thread_cache_size
=
0
,
binlog_cache_size
=
0
,
max_binlog_cache_size
=
0
;
volatile
ulong
cached_thread_count
=
0
;
...
...
@@ -2571,6 +2571,8 @@ CHANGEABLE_VAR changeable_vars[] = {
1024
*
1024L
,
80
,
64
*
1024
*
1024L
,
MALLOC_OVERHEAD
,
1024
},
{
"max_binlog_cache_size"
,
(
long
*
)
&
max_binlog_cache_size
,
~
0L
,
IO_SIZE
,
~
0L
,
0
,
IO_SIZE
},
{
"max_binlog_size"
,
(
long
*
)
&
max_binlog_size
,
1024
*
1024L
*
1024L
,
1024
,
1024
*
1024L
*
1024L
,
0
,
1
},
{
"max_connections"
,
(
long
*
)
&
max_connections
,
100
,
1
,
16384
,
0
,
1
},
{
"max_connect_errors"
,
(
long
*
)
&
max_connect_errors
,
...
...
@@ -2673,6 +2675,7 @@ struct show_var_st init_vars[]= {
{
"lower_case_table_names"
,
(
char
*
)
&
lower_case_table_names
,
SHOW_LONG
},
{
"max_allowed_packet"
,
(
char
*
)
&
max_allowed_packet
,
SHOW_LONG
},
{
"max_binlog_cache_size"
,
(
char
*
)
&
max_binlog_cache_size
,
SHOW_LONG
},
{
"max_binlog_size"
,
(
char
*
)
&
max_binlog_size
,
SHOW_LONG
},
{
"max_connections"
,
(
char
*
)
&
max_connections
,
SHOW_LONG
},
{
"max_connect_errors"
,
(
char
*
)
&
max_connect_errors
,
SHOW_LONG
},
{
"max_delayed_threads"
,
(
char
*
)
&
max_insert_delayed_threads
,
SHOW_LONG
},
...
...
sql/share/czech/errmsg.txt
View file @
0ae142f5
...
...
@@ -208,3 +208,8 @@
"Tabulka '%-.64s' je ozna-Bena jako poruen a posledn (automatick?) oprava se nezdaila",-A
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/danish/errmsg.txt
View file @
0ae142f5
...
...
@@ -202,3 +202,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/dutch/errmsg.txt
View file @
0ae142f5
...
...
@@ -199,3 +199,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/english/errmsg.txt
View file @
0ae142f5
...
...
@@ -187,7 +187,7 @@
"Got error %d during CHECKPOINT",
"Aborted connection %ld to db: '%-.64s' user: '%-.32s' host: `%-.64s' (%-.64s)",
"The handler for the table does not support binary table dump",
"Binlog closed
while trying to FLUSH
MASTER",
"Binlog closed
, cannot RESET
MASTER",
"Failed rebuilding the index of dumped table '%-.64s'",
"Error from master: '%-.64s'",
"Net error reading from master",
...
...
@@ -199,3 +199,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/estonian/errmsg.txt
View file @
0ae142f5
...
...
@@ -203,3 +203,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/french/errmsg.txt
View file @
0ae142f5
...
...
@@ -199,3 +199,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/german/errmsg.txt
View file @
0ae142f5
...
...
@@ -202,3 +202,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/greek/errmsg.txt
View file @
0ae142f5
...
...
@@ -199,3 +199,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/hungarian/errmsg.txt
View file @
0ae142f5
...
...
@@ -201,3 +201,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/italian/errmsg.txt
View file @
0ae142f5
...
...
@@ -199,3 +199,8 @@
"La tabella '%-.64s' e' segnalata come rovinata e l'ultima ricostruzione (automatica?) e' fallita",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/japanese/errmsg.txt
View file @
0ae142f5
...
...
@@ -201,3 +201,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/korean/errmsg.txt
View file @
0ae142f5
...
...
@@ -199,3 +199,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/norwegian-ny/errmsg.txt
View file @
0ae142f5
...
...
@@ -201,3 +201,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/norwegian/errmsg.txt
View file @
0ae142f5
...
...
@@ -201,3 +201,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/polish/errmsg.txt
View file @
0ae142f5
...
...
@@ -203,3 +203,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/portuguese/errmsg.txt
View file @
0ae142f5
...
...
@@ -199,3 +199,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/romanian/errmsg.txt
View file @
0ae142f5
...
...
@@ -203,3 +203,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/russian/errmsg.txt
View file @
0ae142f5
...
...
@@ -179,7 +179,7 @@
" ",
" PRIMARY KEY",
" MySQL RAID",
"
You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
",
"
MySQL (safe_mode) - UPDATE WHERE - KEY
",
" '%-.64s' '%-.64s'",
" ",
" check/repair",
...
...
@@ -190,15 +190,20 @@
" %d CHECKPOINT",
" %ld : '%-.64s' : '%-.32s' : `%-.64s' (%-.64s)",
" binary table dump",
"
Binlog closed while trying to FLUSH
MASTER",
"
Failed rebuilding the index of dumped table
'%-.64s'",
"
Error from master
: '%-.64s'",
"
Net error reading from master
",
"
Net error writing to master
",
"
, RESET
MASTER",
"
'%-.64s'",
"
: '%-.64s'",
"
",
"
",
"FULLTEXT , , ",
"
Can't execute the given command because you have active locked tables or an active transaction
",
"
- locked
",
" '%-.64'",
" '%-.64s' ",
" '%-.64s' (?) ",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
": ROLLBACK",
" 'max_binlog_cache_size' - ",
" slave, SLAVE STOP",
" slave, SLAVE START",
" slave, CHANGE MASTER TO",
" master info, persmissions master.info",
" SLAVE, ",
sql/share/slovak/errmsg.txt
View file @
0ae142f5
...
...
@@ -207,3 +207,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/spanish/errmsg.txt
View file @
0ae142f5
...
...
@@ -200,3 +200,8 @@
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Warning: Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/share/swedish/errmsg.txt
View file @
0ae142f5
...
...
@@ -199,3 +199,8 @@
"Tabell '%-.64s' är crashad och senast (automatiska?) reparation misslyckades",
"Warning: Några icke transaktionella tabeller kunde inte återställas vid ROLLBACK",
"Transaktionen krävde mera än 'max_binlog_cache_size' minne. Utöka denna mysqld variabel och försök på nytt",
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
sql/slave.cc
View file @
0ae142f5
...
...
@@ -34,10 +34,13 @@ DYNAMIC_ARRAY replicate_wild_do_table, replicate_wild_ignore_table;
bool
do_table_inited
=
0
,
ignore_table_inited
=
0
;
bool
wild_do_table_inited
=
0
,
wild_ignore_table_inited
=
0
;
bool
table_rules_on
=
0
;
uint32
slave_skip_counter
=
0
;
static
TABLE
*
save_temporary_tables
=
0
;
// when slave thread exits, we need to remember the temporary tables so we
// can re-use them on slave start
static
TABLE
*
save_temporary_tables
=
0
;
static
int
last_slave_errno
=
0
;
static
char
last_slave_error
[
1024
]
=
""
;
#ifndef DBUG_OFF
int
disconnect_slave_event_count
=
0
,
abort_slave_event_count
=
0
;
static
int
events_till_disconnect
=
-
1
,
events_till_abort
=
-
1
;
...
...
@@ -570,6 +573,9 @@ int show_master_info(THD* thd)
field_list
.
push_back
(
new
Item_empty_string
(
"Slave_Running"
,
3
));
field_list
.
push_back
(
new
Item_empty_string
(
"Replicate_do_db"
,
20
));
field_list
.
push_back
(
new
Item_empty_string
(
"Replicate_ignore_db"
,
20
));
field_list
.
push_back
(
new
Item_empty_string
(
"Last_errno"
,
4
));
field_list
.
push_back
(
new
Item_empty_string
(
"Last_error"
,
20
));
field_list
.
push_back
(
new
Item_empty_string
(
"Skip_counter"
,
12
));
if
(
send_fields
(
thd
,
field_list
,
1
))
DBUG_RETURN
(
-
1
);
...
...
@@ -589,6 +595,9 @@ int show_master_info(THD* thd)
pthread_mutex_unlock
(
&
LOCK_slave
);
net_store_data
(
packet
,
&
replicate_do_db
);
net_store_data
(
packet
,
&
replicate_ignore_db
);
net_store_data
(
packet
,
(
uint32
)
last_slave_errno
);
net_store_data
(
packet
,
last_slave_error
);
net_store_data
(
packet
,
slave_skip_counter
);
if
(
my_net_write
(
&
thd
->
net
,
(
char
*
)
thd
->
packet
.
ptr
(),
packet
->
length
()))
DBUG_RETURN
(
-
1
);
...
...
@@ -833,13 +842,14 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len)
if
(
ev
)
{
int
type_code
=
ev
->
get_type_code
();
if
(
ev
->
server_id
==
::
server_id
)
if
(
ev
->
server_id
==
::
server_id
||
slave_skip_counter
)
{
if
(
type_code
==
LOAD_EVENT
)
skip_load_data_infile
(
net
);
mi
->
inc_pos
(
event_len
);
flush_master_info
(
mi
);
--
slave_skip_counter
;
delete
ev
;
return
0
;
// avoid infinite update loops
}
...
...
@@ -853,6 +863,7 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len)
{
Query_log_event
*
qev
=
(
Query_log_event
*
)
ev
;
int
q_len
=
qev
->
q_len
;
int
expected_error
,
actual_error
=
0
;
init_sql_alloc
(
&
thd
->
mem_root
,
8192
,
0
);
thd
->
db
=
rewrite_db
((
char
*
)
qev
->
db
);
if
(
db_ok
(
thd
->
db
,
replicate_do_db
,
replicate_ignore_db
))
...
...
@@ -869,19 +880,22 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len)
thd
->
net
.
last_error
[
0
]
=
0
;
thd
->
slave_proxy_id
=
qev
->
thread_id
;
// for temp tables
mysql_parse
(
thd
,
thd
->
query
,
q_len
);
int
expected_error
,
actual_error
;
if
((
expected_error
=
qev
->
error_code
)
!=
(
actual_error
=
thd
->
net
.
last_errno
)
&&
expected_error
)
{
sql_print_error
(
"Slave: did not get the expected error\
running query from master - expected: '%s', got '%s'"
,
ER
(
expected_error
),
actual_error
?
ER
(
actual_error
)
:
"no error"
const
char
*
errmsg
=
"Slave: did not get the expected error\
running query from master - expected: '%s', got '%s'"
;
sql_print_error
(
errmsg
,
ER
(
expected_error
),
actual_error
?
thd
->
net
.
last_error
:
"no error"
);
thd
->
query_error
=
1
;
}
else
if
(
expected_error
==
actual_error
)
{
thd
->
query_error
=
0
;
*
last_slave_error
=
0
;
last_slave_errno
=
0
;
}
}
thd
->
db
=
0
;
// prevent db from being freed
thd
->
query
=
0
;
// just to be sure
...
...
@@ -893,6 +907,13 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len)
{
sql_print_error
(
"Slave: error running query '%s' "
,
qev
->
query
);
last_slave_errno
=
actual_error
?
actual_error
:
-
1
;
my_snprintf
(
last_slave_error
,
sizeof
(
last_slave_error
),
"error '%s' on query '%s'"
,
actual_error
?
thd
->
net
.
last_error
:
"unexpected success or fatal error"
,
qev
->
query
);
free_root
(
&
thd
->
mem_root
,
0
);
delete
ev
;
return
1
;
...
...
sql/slave.h
View file @
0ae142f5
...
...
@@ -93,6 +93,11 @@ extern bool opt_log_slave_updates ;
pthread_handler_decl
(
handle_slave
,
arg
);
extern
bool
volatile
abort_loop
,
abort_slave
;
extern
bool
slave_running
;
extern
uint32
slave_skip_counter
;
// needed for problems when slave stops and
// we want to restart it skipping one or more events in the master log that
// have caused errors, and have been manually applied by DBA already
extern
pthread_t
slave_real_id
;
extern
MASTER_INFO
glob_mi
;
extern
HASH
replicate_do_table
,
replicate_ignore_table
;
...
...
sql/sql_repl.cc
View file @
0ae142f5
...
...
@@ -519,34 +519,34 @@ int start_slave(THD* thd , bool net_report)
{
if
(
!
thd
)
thd
=
current_thd
;
NET
*
net
=
&
thd
->
net
;
const
char
*
err
=
0
;
int
slave_errno
=
0
;
if
(
check_access
(
thd
,
PROCESS_ACL
,
any_db
))
return
1
;
pthread_mutex_lock
(
&
LOCK_slave
);
if
(
!
slave_running
)
{
if
(
init_master_info
(
&
glob_mi
))
err
=
"Could not initialize master info"
;
slave_errno
=
ER_MASTER_INFO
;
else
if
(
server_id_supplied
&&
*
glob_mi
.
host
)
{
pthread_t
hThread
;
if
(
pthread_create
(
&
hThread
,
&
connection_attrib
,
handle_slave
,
0
))
{
err
=
"cannot create slave thread"
;
slave_errno
=
ER_SLAVE_THREAD
;
}
while
(
!
slave_running
)
// slave might already be running by now
pthread_cond_wait
(
&
COND_slave_start
,
&
LOCK_slave
);
}
else
err
=
"Master host not set, or server id not configured"
;
slave_errno
=
ER_BAD_SLAVE
;
}
else
err
=
"Slave already running"
;
slave_errno
=
ER_SLAVE_MUST_STOP
;
pthread_mutex_unlock
(
&
LOCK_slave
);
if
(
err
)
if
(
slave_errno
)
{
if
(
net_report
)
send_error
(
net
,
0
,
err
);
if
(
net_report
)
send_error
(
net
,
slave_errno
);
return
1
;
}
else
if
(
net_report
)
...
...
@@ -559,7 +559,7 @@ int stop_slave(THD* thd, bool net_report )
{
if
(
!
thd
)
thd
=
current_thd
;
NET
*
net
=
&
thd
->
net
;
const
char
*
err
=
0
;
int
slave_errno
=
0
;
if
(
check_access
(
thd
,
PROCESS_ACL
,
any_db
))
return
1
;
...
...
@@ -576,14 +576,14 @@ int stop_slave(THD* thd, bool net_report )
pthread_cond_wait
(
&
COND_slave_stopped
,
&
LOCK_slave
);
}
else
err
=
"Slave is not running"
;
slave_errno
=
ER_SLAVE_NOT_RUNNING
;
pthread_mutex_unlock
(
&
LOCK_slave
);
thd
->
proc_info
=
0
;
if
(
err
)
if
(
slave_errno
)
{
if
(
net_report
)
send_error
(
net
,
0
,
err
);
if
(
net_report
)
send_error
(
net
,
slave_errno
);
return
1
;
}
else
if
(
net_report
)
...
...
sql/sql_yacc.yy
View file @
0ae142f5
...
...
@@ -22,6 +22,7 @@
#define YYMAXDEPTH 3200 /* Because of 64K stack */
#define Lex current_lex
#include "mysql_priv.h"
#include "slave.h"
#include "sql_acl.h"
#include "lex_symbol.h"
#include <myisam.h>
...
...
@@ -408,6 +409,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token SQL_AUTO_IS_NULL
%token SQL_SAFE_UPDATES
%token SQL_QUOTE_SHOW_CREATE
%token SQL_SLAVE_SKIP_COUNTER
%left SET_VAR
%left OR_OR_CONCAT OR
...
...
@@ -2662,6 +2664,15 @@ option_value:
if (item->fix_fields(current_thd,0) || item->update())
YYABORT;
}
| SQL_SLAVE_SKIP_COUNTER equal ULONG_NUM
{
pthread_mutex_lock(&LOCK_slave);
if(slave_running)
send_error(¤t_thd->net, ER_SLAVE_MUST_STOP);
else
slave_skip_counter = $3;
pthread_mutex_unlock(&LOCK_slave);
}
text_or_password:
TEXT_STRING { $$=$1.str;}
...
...
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