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
55f0e6bf
Commit
55f0e6bf
authored
Dec 02, 2011
by
Michael Widenius
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixes for netware by Guenter Knauf
parent
ffab2a90
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
404 additions
and
400 deletions
+404
-400
include/config-netware.h
include/config-netware.h
+1
-0
netware/Makefile.am
netware/Makefile.am
+1
-0
netware/my_manage.c
netware/my_manage.c
+6
-4
netware/mysql_install_db.c
netware/mysql_install_db.c
+7
-7
netware/mysqld_safe.c
netware/mysqld_safe.c
+389
-389
No files found.
include/config-netware.h
View file @
55f0e6bf
...
...
@@ -57,6 +57,7 @@ extern "C" {
#undef HAVE_RWLOCK_INIT
#undef HAVE_SCHED_H
#undef HAVE_SYS_MMAN_H
#undef HAVE_SYS_UN_H
#undef HAVE_SYNCH_H
#undef HAVE_MMAP
#undef HAVE_RINT
...
...
netware/Makefile.am
View file @
55f0e6bf
...
...
@@ -108,6 +108,7 @@ init_db.sql: $(top_srcdir)/scripts/mysql_system_tables.sql \
@
echo
"CREATE DATABASE test;"
>>
$@
;
@
echo
"use mysql;"
>>
$@
;
@
cat
$(top_srcdir)
/scripts/mysql_system_tables.sql
>>
$@
;
@
cat
$(top_srcdir)
/scripts/mysql_system_tables_data.sql |
grep
-v
'@current_hostname'
>>
$@
;
# Build test_db.sql from init_db.sql plus
# some test data
...
...
netware/my_manage.c
View file @
55f0e6bf
...
...
@@ -24,8 +24,10 @@
#include <proc.h>
#include <ctype.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <fcntl.h>
#include <assert.h>
#include <nks/vm.h>
#include "my_manage.h"
...
...
@@ -356,17 +358,17 @@ pid_t get_server_pid(char *pid_file)
// terminate string
if
((
p
=
strchr
(
buf
,
'\n'
))
!=
NULL
)
{
*
p
=
NULL
;
*
p
=
0
;
// check for a '\r'
if
((
p
=
strchr
(
buf
,
'\r'
))
!=
NULL
)
{
*
p
=
NULL
;
*
p
=
0
;
}
}
else
{
buf
[
err
]
=
NULL
;
buf
[
err
]
=
0
;
}
id
=
strtol
(
buf
,
NULL
,
0
);
...
...
@@ -471,7 +473,7 @@ void get_basedir(char *argv0, char *basedir)
if
((
p
=
strindex
(
temp
,
"/bin/"
))
!=
NULL
)
{
*
p
=
NULL
;
*
p
=
0
;
strcpy
(
basedir
,
temp
);
}
}
netware/mysql_install_db.c
View file @
55f0e6bf
...
...
@@ -34,7 +34,7 @@
global variables
******************************************************************************/
char
autoclose
;
int
autoclose
;
char
basedir
[
PATH_MAX
];
char
datadir
[
PATH_MAX
];
char
err_log
[
PATH_MAX
];
...
...
@@ -99,7 +99,7 @@ void start_defaults(int argc, char *argv[])
}
// default option
default_option
[
0
]
=
NULL
;
default_option
[
0
]
=
0
;
for
(
i
=
0
;
(
argc
>
1
)
&&
default_options
[
i
];
i
++
)
{
if
(
!
strnicmp
(
argv
[
1
],
default_options
[
i
],
strlen
(
default_options
[
i
])))
...
...
@@ -110,11 +110,11 @@ void start_defaults(int argc, char *argv[])
}
// set after basedir is established
datadir
[
0
]
=
NULL
;
err_log
[
0
]
=
NULL
;
out_log
[
0
]
=
NULL
;
mysqld
[
0
]
=
NULL
;
sql_file
[
0
]
=
NULL
;
datadir
[
0
]
=
0
;
err_log
[
0
]
=
0
;
out_log
[
0
]
=
0
;
mysqld
[
0
]
=
0
;
sql_file
[
0
]
=
0
;
}
/******************************************************************************
...
...
netware/mysqld_safe.c
View file @
55f0e6bf
/*
/*
Copyright (c) 2003 Novell, Inc. All Rights Reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
...
...
@@ -10,74 +10,74 @@
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <stdlib.h>
#include <stdio.h>
#include <netdb.h>
#include <sys/stat.h>
#include <monitor.h>
#include <strings.h>
#include <getopt.h>
#include <screen.h>
#include <dirent.h>
#include "my_config.h"
#include "my_manage.h"
#include <stdlib.h>
#include <stdio.h>
#include <netdb.h>
#include <sys/stat.h>
#include <monitor.h>
#include <strings.h>
#include <getopt.h>
#include <screen.h>
#include <dirent.h>
#include "my_config.h"
#include "my_manage.h"
#include "mysql_version.h"
/******************************************************************************
global variables
******************************************************************************/
char
autoclose
;
char
basedir
[
PATH_MAX
];
/******************************************************************************
global variables
******************************************************************************/
char
autoclose
;
char
basedir
[
PATH_MAX
];
char
checktables
;
char
datadir
[
PATH_MAX
];
char
pid_file
[
PATH_MAX
];
char
address
[
PATH_MAX
];
char
port
[
PATH_MAX
];
char
err_log
[
PATH_MAX
];
char
safe_log
[
PATH_MAX
];
char
mysqld
[
PATH_MAX
];
char
hostname
[
PATH_MAX
];
char
default_option
[
PATH_MAX
];
char
datadir
[
PATH_MAX
];
char
pid_file
[
PATH_MAX
];
char
address
[
PATH_MAX
];
char
port
[
PATH_MAX
];
char
err_log
[
PATH_MAX
];
char
safe_log
[
PATH_MAX
];
char
mysqld
[
PATH_MAX
];
char
hostname
[
PATH_MAX
];
char
default_option
[
PATH_MAX
];
FILE
*
log_fd
=
NULL
;
/******************************************************************************
prototypes
******************************************************************************/
/******************************************************************************
prototypes
******************************************************************************/
void
usage
(
void
);
void
vlog
(
char
*
,
va_list
);
void
log
(
char
*
,
...);
void
vlog
(
char
*
,
va_list
);
void
log
(
char
*
,
...);
void
start_defaults
(
int
,
char
*
[]);
void
finish_defaults
();
void
finish_defaults
();
void
read_defaults
(
arg_list_t
*
);
void
parse_args
(
int
,
char
*
[]);
void
get_options
(
int
,
char
*
[]);
void
check_data_vol
();
void
check_setup
();
void
check_tables
();
void
check_data_vol
();
void
check_setup
();
void
check_tables
();
void
mysql_start
(
int
,
char
*
[]);
void
parse_setvar
(
char
*
arg
);
/******************************************************************************
functions
******************************************************************************/
/******************************************************************************
/******************************************************************************
functions
******************************************************************************/
/******************************************************************************
usage()
Show usage.
...
...
@@ -114,86 +114,86 @@ options:\n\
/******************************************************************************
vlog()
Log the message.
******************************************************************************/
void
vlog
(
char
*
format
,
va_list
ap
)
{
vfprintf
(
stdout
,
format
,
ap
);
fflush
(
stdout
);
if
(
log_fd
)
{
vfprintf
(
log_fd
,
format
,
ap
);
fflush
(
log_fd
);
}
}
/******************************************************************************
log()
Log the message.
******************************************************************************/
void
log
(
char
*
format
,
...)
{
va_list
ap
;
va_start
(
ap
,
format
);
vlog
(
format
,
ap
);
va_end
(
ap
);
}
/******************************************************************************
start_defaults()
Start setting the defaults.
******************************************************************************/
void
start_defaults
(
int
argc
,
char
*
argv
[])
{
struct
stat
buf
;
int
i
;
// default options
vlog()
Log the message.
******************************************************************************/
void
vlog
(
char
*
format
,
va_list
ap
)
{
vfprintf
(
stdout
,
format
,
ap
);
fflush
(
stdout
);
if
(
log_fd
)
{
vfprintf
(
log_fd
,
format
,
ap
);
fflush
(
log_fd
);
}
}
/******************************************************************************
log()
Log the message.
******************************************************************************/
void
log
(
char
*
format
,
...)
{
va_list
ap
;
va_start
(
ap
,
format
);
vlog
(
format
,
ap
);
va_end
(
ap
);
}
/******************************************************************************
start_defaults()
Start setting the defaults.
******************************************************************************/
void
start_defaults
(
int
argc
,
char
*
argv
[])
{
struct
stat
buf
;
int
i
;
// default options
static
char
*
default_options
[]
=
{
{
"--no-defaults"
,
"--defaults-file="
,
"--defaults-extra-file="
,
NULL
};
};
// autoclose
// autoclose
autoclose
=
FALSE
;
// basedir
get_basedir
(
argv
[
0
],
basedir
);
// basedir
get_basedir
(
argv
[
0
],
basedir
);
// check-tables
checktables
=
FALSE
;
// hostname
// hostname
if
(
gethostname
(
hostname
,
PATH_MAX
)
<
0
)
{
// default
{
// default
strcpy
(
hostname
,
"mysql"
);
}
// address
snprintf
(
address
,
PATH_MAX
,
"0.0.0.0"
);
// port
}
// address
snprintf
(
address
,
PATH_MAX
,
"0.0.0.0"
);
// port
snprintf
(
port
,
PATH_MAX
,
"%d"
,
MYSQL_PORT
);
// default option
default_option
[
0
]
=
NULL
;
// default option
default_option
[
0
]
=
0
;
for
(
i
=
0
;
(
argc
>
1
)
&&
default_options
[
i
];
i
++
)
{
if
(
!
strnicmp
(
argv
[
1
],
default_options
[
i
],
strlen
(
default_options
[
i
])))
...
...
@@ -203,73 +203,73 @@ void start_defaults(int argc, char *argv[])
}
}
// set after basedir is established
datadir
[
0
]
=
NULL
;
pid_file
[
0
]
=
NULL
;
err_log
[
0
]
=
NULL
;
safe_log
[
0
]
=
NULL
;
mysqld
[
0
]
=
NULL
;
}
/******************************************************************************
finish_defaults()
Finish settig the defaults.
******************************************************************************/
void
finish_defaults
()
{
struct
stat
buf
;
int
i
;
// datadir
// set after basedir is established
datadir
[
0
]
=
0
;
pid_file
[
0
]
=
0
;
err_log
[
0
]
=
0
;
safe_log
[
0
]
=
0
;
mysqld
[
0
]
=
0
;
}
/******************************************************************************
finish_defaults()
Finish settig the defaults.
******************************************************************************/
void
finish_defaults
()
{
struct
stat
buf
;
int
i
;
// datadir
if
(
!
datadir
[
0
])
snprintf
(
datadir
,
PATH_MAX
,
"%s/data"
,
basedir
);
// pid-file
// pid-file
if
(
!
pid_file
[
0
])
snprintf
(
pid_file
,
PATH_MAX
,
"%s/%s.pid"
,
datadir
,
hostname
);
// err-log
// err-log
if
(
!
err_log
[
0
])
snprintf
(
err_log
,
PATH_MAX
,
"%s/%s.err"
,
datadir
,
hostname
);
// safe-log
// safe-log
if
(
!
safe_log
[
0
])
snprintf
(
safe_log
,
PATH_MAX
,
"%s/%s.safe"
,
datadir
,
hostname
);
// mysqld
// mysqld
if
(
!
mysqld
[
0
])
snprintf
(
mysqld
,
PATH_MAX
,
"%s/bin/mysqld-max"
,
basedir
);
if
(
stat
(
mysqld
,
&
buf
))
{
snprintf
(
mysqld
,
PATH_MAX
,
"%s/bin/mysqld"
,
basedir
);
}
}
/******************************************************************************
read_defaults()
Read the defaults.
******************************************************************************/
if
(
stat
(
mysqld
,
&
buf
))
{
snprintf
(
mysqld
,
PATH_MAX
,
"%s/bin/mysqld"
,
basedir
);
}
}
/******************************************************************************
read_defaults()
Read the defaults.
******************************************************************************/
void
read_defaults
(
arg_list_t
*
pal
)
{
{
arg_list_t
al
;
char
defaults_file
[
PATH_MAX
];
char
mydefaults
[
PATH_MAX
];
char
line
[
PATH_MAX
];
FILE
*
fp
;
char
mydefaults
[
PATH_MAX
];
char
line
[
PATH_MAX
];
FILE
*
fp
;
// defaults output file
snprintf
(
defaults_file
,
PATH_MAX
,
"%s/bin/defaults.out"
,
basedir
);
remove
(
defaults_file
);
// mysqladmin file
snprintf
(
mydefaults
,
PATH_MAX
,
"%s/bin/my_print_defaults"
,
basedir
);
snprintf
(
mydefaults
,
PATH_MAX
,
"%s/bin/my_print_defaults"
,
basedir
);
// args
init_args
(
&
al
);
...
...
@@ -290,13 +290,13 @@ void read_defaults(arg_list_t *pal)
{
while
(
fgets
(
line
,
PATH_MAX
,
fp
))
{
char
*
p
;
char
*
p
;
// remove end-of-line character
// remove end-of-line character
if
((
p
=
strrchr
(
line
,
'\n'
))
!=
NULL
)
*
p
=
'\0'
;
// add the option as an argument
// add the option as an argument
add_arg
(
pal
,
line
);
}
...
...
@@ -305,37 +305,37 @@ void read_defaults(arg_list_t *pal)
// remove file
remove
(
defaults_file
);
}
/******************************************************************************
parse_args()
Get the options.
******************************************************************************/
void
parse_args
(
int
argc
,
char
*
argv
[])
{
}
/******************************************************************************
parse_args()
Get the options.
******************************************************************************/
void
parse_args
(
int
argc
,
char
*
argv
[])
{
int
index
=
0
;
int
c
;
int
c
;
// parse options
enum
opts
{
// parse options
enum
opts
{
OPT_BASEDIR
=
0xFF
,
OPT_DATADIR
,
OPT_PID_FILE
,
OPT_BIND_ADDRESS
,
OPT_PORT
,
OPT_ERR_LOG
,
OPT_SAFE_LOG
,
OPT_DATADIR
,
OPT_PID_FILE
,
OPT_BIND_ADDRESS
,
OPT_PORT
,
OPT_ERR_LOG
,
OPT_SAFE_LOG
,
OPT_MYSQLD
,
OPT_HELP
,
OPT_SETVAR
};
};
static
struct
option
options
[]
=
{
{
{
"autoclose"
,
no_argument
,
&
autoclose
,
TRUE
},
{
"basedir"
,
required_argument
,
0
,
OPT_BASEDIR
},
{
"check-tables"
,
no_argument
,
&
checktables
,
TRUE
},
...
...
@@ -349,51 +349,51 @@ void parse_args(int argc, char *argv[])
{
"help"
,
no_argument
,
0
,
OPT_HELP
},
{
"set-variable"
,
required_argument
,
0
,
OPT_SETVAR
},
{
0
,
0
,
0
,
0
}
};
};
// we have to reset getopt_long because we use it multiple times
// we have to reset getopt_long because we use it multiple times
optind
=
1
;
// turn off error reporting
// turn off error reporting
opterr
=
0
;
while
((
c
=
getopt_long
(
argc
,
argv
,
"b:h:P:"
,
options
,
&
index
))
>=
0
)
{
{
switch
(
c
)
{
case
OPT_BASEDIR
:
case
'b'
:
strcpy
(
basedir
,
optarg
);
break
;
case
OPT_BASEDIR
:
case
'b'
:
strcpy
(
basedir
,
optarg
);
break
;
case
OPT_DATADIR
:
case
'h'
:
strcpy
(
datadir
,
optarg
);
break
;
case
OPT_DATADIR
:
case
'h'
:
strcpy
(
datadir
,
optarg
);
break
;
case
OPT_PID_FILE
:
strcpy
(
pid_file
,
optarg
);
break
;
case
OPT_PID_FILE
:
strcpy
(
pid_file
,
optarg
);
break
;
case
OPT_BIND_ADDRESS
:
strcpy
(
address
,
optarg
);
break
;
case
OPT_BIND_ADDRESS
:
strcpy
(
address
,
optarg
);
break
;
case
OPT_PORT
:
case
'P'
:
strcpy
(
port
,
optarg
);
break
;
case
OPT_PORT
:
case
'P'
:
strcpy
(
port
,
optarg
);
break
;
case
OPT_ERR_LOG
:
strcpy
(
err_log
,
optarg
);
break
;
case
OPT_ERR_LOG
:
strcpy
(
err_log
,
optarg
);
break
;
case
OPT_SAFE_LOG
:
strcpy
(
safe_log
,
optarg
);
break
;
case
OPT_SAFE_LOG
:
strcpy
(
safe_log
,
optarg
);
break
;
case
OPT_MYSQLD
:
strcpy
(
mysqld
,
optarg
);
break
;
case
OPT_MYSQLD
:
strcpy
(
mysqld
,
optarg
);
break
;
case
OPT_SETVAR
:
parse_setvar
(
optarg
);
...
...
@@ -403,13 +403,13 @@ void parse_args(int argc, char *argv[])
usage
();
break
;
default:
// ignore
break
;
}
}
}
default:
// ignore
break
;
}
}
}
/*
parse_setvar(char *arg)
Pasrsing for port just to display the port num on the mysqld_safe screen
...
...
@@ -430,148 +430,148 @@ void parse_setvar(char *arg)
/******************************************************************************
get_options()
/******************************************************************************
get_options()
Get the options.
Get the options.
******************************************************************************/
void
get_options
(
int
argc
,
char
*
argv
[])
{
******************************************************************************/
void
get_options
(
int
argc
,
char
*
argv
[])
{
arg_list_t
al
;
// start defaults
start_defaults
(
argc
,
argv
);
// default file arguments
// start defaults
start_defaults
(
argc
,
argv
);
// default file arguments
init_args
(
&
al
);
add_arg
(
&
al
,
"ignore"
);
read_defaults
(
&
al
);
parse_args
(
al
.
argc
,
al
.
argv
);
free_args
(
&
al
);
// command-line arguments
parse_args
(
argc
,
argv
);
// finish defaults
finish_defaults
();
}
/******************************************************************************
check_data_vol()
Check the database volume.
******************************************************************************/
void
check_data_vol
()
{
// warn if the data is on a Traditional volume
struct
volume_info
vol
;
char
buff
[
PATH_MAX
];
char
*
p
;
// clear struct
memset
(
&
vol
,
0
,
sizeof
(
vol
));
// find volume name
strcpy
(
buff
,
datadir
);
// command-line arguments
parse_args
(
argc
,
argv
);
// finish defaults
finish_defaults
();
}
/******************************************************************************
check_data_vol()
Check the database volume.
******************************************************************************/
void
check_data_vol
()
{
// warn if the data is on a Traditional volume
struct
volume_info
vol
;
char
buff
[
PATH_MAX
];
char
*
p
;
// clear struct
memset
(
&
vol
,
0
,
sizeof
(
vol
));
// find volume name
strcpy
(
buff
,
datadir
);
if
(
p
=
strchr
(
buff
,
':'
))
{
// terminate after volume name
{
// terminate after volume name
*
p
=
0
;
}
else
{
// assume SYS volume
strcpy
(
buff
,
"SYS"
);
}
// retrieve information
netware_vol_info_from_name
(
&
vol
,
buff
);
if
((
vol
.
flags
&
VOL_NSS_PRESENT
)
==
0
)
{
}
else
{
// assume SYS volume
strcpy
(
buff
,
"SYS"
);
}
// retrieve information
netware_vol_info_from_name
(
&
vol
,
buff
);
if
((
vol
.
flags
&
VOL_NSS_PRESENT
)
==
0
)
{
log
(
"Error: Either the data directory does not exist or is not on an NSS volume!
\n\n
"
);
exit
(
-
1
);
}
}
/******************************************************************************
check_setup()
Check the current setup.
******************************************************************************/
void
check_setup
()
{
exit
(
-
1
);
}
}
/******************************************************************************
check_setup()
Check the current setup.
******************************************************************************/
void
check_setup
()
{
struct
stat
info
;
char
temp
[
PATH_MAX
];
char
temp
[
PATH_MAX
];
// remove any current pid_file
// remove any current pid_file
if
(
!
stat
(
pid_file
,
&
info
)
&&
(
remove
(
pid_file
)
<
0
))
{
log
(
"ERROR: Unable to remove current pid file!
\n\n
"
);
exit
(
-
1
);
log
(
"ERROR: Unable to remove current pid file!
\n\n
"
);
exit
(
-
1
);
}
// check the data volume
check_data_vol
();
// check for a database
snprintf
(
temp
,
PATH_MAX
,
"%s/mysql/host.frm"
,
datadir
);
if
(
stat
(
temp
,
&
info
))
{
log
(
"ERROR: No database found in the data directory!
\n\n
"
);
exit
(
-
1
);
}
}
/******************************************************************************
check_tables()
Check the database tables.
******************************************************************************/
void
check_tables
()
{
check_data_vol
();
// check for a database
snprintf
(
temp
,
PATH_MAX
,
"%s/mysql/host.frm"
,
datadir
);
if
(
stat
(
temp
,
&
info
))
{
log
(
"ERROR: No database found in the data directory!
\n\n
"
);
exit
(
-
1
);
}
}
/******************************************************************************
check_tables()
Check the database tables.
******************************************************************************/
void
check_tables
()
{
arg_list_t
al
;
char
mycheck
[
PATH_MAX
];
char
mycheck
[
PATH_MAX
];
char
table
[
PATH_MAX
];
char
db
[
PATH_MAX
];
DIR
*
datadir_entry
,
*
db_entry
,
*
table_entry
;
// status
log
(
"checking tables...
\n
"
);
log
(
"checking tables...
\n
"
);
// list databases
// list databases
if
((
datadir_entry
=
opendir
(
datadir
))
==
NULL
)
{
return
;
}
while
((
db_entry
=
readdir
(
datadir_entry
))
!=
NULL
)
{
if
(
db_entry
->
d_name
[
0
]
==
'.'
)
{
// Skip
}
else
if
(
S_ISDIR
(
db_entry
->
d_type
))
{
// create long db name
snprintf
(
db
,
PATH_MAX
,
"%s/%s"
,
datadir
,
db_entry
->
d_name
);
// list tables
if
(
db_entry
->
d_name
[
0
]
==
'.'
)
{
// Skip
}
else
if
(
S_ISDIR
(
db_entry
->
d_type
))
{
// create long db name
snprintf
(
db
,
PATH_MAX
,
"%s/%s"
,
datadir
,
db_entry
->
d_name
);
// list tables
if
((
db_entry
=
opendir
(
db
))
==
NULL
)
{
{
continue
;
}
}
while
((
table_entry
=
readdir
(
db_entry
))
!=
NULL
)
{
{
// create long table name
snprintf
(
table
,
PATH_MAX
,
"%s/%s"
,
db
,
strlwr
(
table_entry
->
d_name
));
...
...
@@ -581,7 +581,7 @@ void check_tables()
// mysqladmin file
snprintf
(
mycheck
,
PATH_MAX
,
"%s/bin/myisamchk"
,
basedir
);
// args
init_args
(
&
al
);
add_arg
(
&
al
,
mycheck
);
...
...
@@ -594,7 +594,7 @@ void check_tables()
add_arg
(
&
al
,
"-O"
);
add_arg
(
&
al
,
"sort_buffer=64M"
);
add_arg
(
&
al
,
table
);
spawn
(
mycheck
,
&
al
,
TRUE
,
NULL
,
NULL
,
NULL
);
free_args
(
&
al
);
...
...
@@ -619,20 +619,20 @@ void check_tables()
free_args
(
&
al
);
}
}
}
}
}
}
}
/******************************************************************************
mysql_start()
Start the mysql server.
******************************************************************************/
void
mysql_start
(
int
argc
,
char
*
argv
[])
{
}
/******************************************************************************
mysql_start()
Start the mysql server.
******************************************************************************/
void
mysql_start
(
int
argc
,
char
*
argv
[])
{
arg_list_t
al
;
int
i
,
j
,
err
;
struct
stat
info
;
...
...
@@ -641,16 +641,16 @@ void mysql_start(int argc, char *argv[])
char
stamp
[
PATH_MAX
];
char
skip
;
// private options
// private options
static
char
*
private_options
[]
=
{
{
"--autoclose"
,
"--check-tables"
,
"--help"
,
"--err-log="
,
"--mysqld="
,
NULL
};
};
// args
init_args
(
&
al
);
...
...
@@ -661,22 +661,22 @@ void mysql_start(int argc, char *argv[])
{
skip
=
FALSE
;
// skip private arguments
// skip private arguments
for
(
j
=
0
;
private_options
[
j
];
j
++
)
{
{
if
(
!
strnicmp
(
argv
[
i
],
private_options
[
j
],
strlen
(
private_options
[
j
])))
{
{
skip
=
TRUE
;
break
;
}
}
}
}
if
(
!
skip
)
{
add_arg
(
&
al
,
"%s"
,
argv
[
i
]);
}
}
// spawn
// spawn
do
{
// check the database tables
...
...
@@ -684,10 +684,10 @@ void mysql_start(int argc, char *argv[])
check_tables
();
// status
time
(
&
cal
);
localtime_r
(
&
cal
,
&
lt
);
strftime
(
stamp
,
PATH_MAX
,
"%d %b %Y %H:%M:%S"
,
&
lt
);
log
(
"mysql started : %s
\n
"
,
stamp
);
time
(
&
cal
);
localtime_r
(
&
cal
,
&
lt
);
strftime
(
stamp
,
PATH_MAX
,
"%d %b %Y %H:%M:%S"
,
&
lt
);
log
(
"mysql started : %s
\n
"
,
stamp
);
// spawn mysqld
spawn
(
mysqld
,
&
al
,
TRUE
,
NULL
,
NULL
,
err_log
);
...
...
@@ -695,57 +695,57 @@ void mysql_start(int argc, char *argv[])
while
(
!
stat
(
pid_file
,
&
info
));
// status
time
(
&
cal
);
localtime_r
(
&
cal
,
&
lt
);
strftime
(
stamp
,
PATH_MAX
,
"%d %b %Y %H:%M:%S"
,
&
lt
);
log
(
"mysql stopped : %s
\n\n
"
,
stamp
);
time
(
&
cal
);
localtime_r
(
&
cal
,
&
lt
);
strftime
(
stamp
,
PATH_MAX
,
"%d %b %Y %H:%M:%S"
,
&
lt
);
log
(
"mysql stopped : %s
\n\n
"
,
stamp
);
// free args
free_args
(
&
al
);
}
/******************************************************************************
main()
******************************************************************************/
int
main
(
int
argc
,
char
**
argv
)
{
}
/******************************************************************************
main()
******************************************************************************/
int
main
(
int
argc
,
char
**
argv
)
{
char
temp
[
PATH_MAX
];
// get the options
// get the options
get_options
(
argc
,
argv
);
// keep the screen up
// keep the screen up
if
(
!
autoclose
)
setscreenmode
(
SCR_NO_MODE
);
// create log file
// create log file
log_fd
=
fopen
(
safe_log
,
"w+"
);
// header
log
(
"MySQL Server %s, for %s (%s)
\n\n
"
,
VERSION
,
SYSTEM_TYPE
,
MACHINE_TYPE
);
// header
log
(
"MySQL Server %s, for %s (%s)
\n\n
"
,
VERSION
,
SYSTEM_TYPE
,
MACHINE_TYPE
);
// status
log
(
"address : %s
\n
"
,
address
);
log
(
"port : %s
\n
"
,
port
);
log
(
"daemon : %s
\n
"
,
mysqld
);
log
(
"daemon : %s
\n
"
,
mysqld
);
log
(
"base directory : %s
\n
"
,
basedir
);
log
(
"data directory : %s
\n
"
,
datadir
);
log
(
"pid file : %s
\n
"
,
pid_file
);
log
(
"error file : %s
\n
"
,
err_log
);
log
(
"log file : %s
\n
"
,
safe_log
);
log
(
"
\n
"
);
log
(
"
\n
"
);
// check setup
check_setup
();
// check setup
check_setup
();
// start the MySQL server
// start the MySQL server
mysql_start
(
argc
,
argv
);
// close log file
if
(
log_fd
)
fclose
(
log_fd
);
return
0
;
}
return
0
;
}
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