I am sending this mail in order to get things straight
about table corruption which I am experiencing with
4.0(as well as previous versions).
1)System specs: PIII x1000MHz, 1GB RAM, HD 37GB SCSI,
AHA29160N SCSI controller
2) Database MyISam tables, BUT 21000 tables in the
database(this is for performance reasons. I need
for each such table to run a number of queries and in
this way I already have 'VIEWS', except they are
permament). I could split that in 4 different databases
if it is a problem.
3) I import the data from mysqldumps(that is, the
program that reads the data does not directly import
them in the database, partly because of the corruption
problems, but also partly because I want backups anyway
and instead produces files that are importable just
like mysqldumps. These files are of the form
'INSERT INTO TABLE1 (.....);'
....
conceivably for all 21000 tables.
I assume corruption happens at the inverse mysqldump
phase. Does this mean that if I break up the
dump file into many smaller files,
so that say one file consists of all imports
TABLES1-100, the second files 101-200 etc
corruption will not be a problem??
4) Corruption is a tossup. The import always works.
However, when I run the queries sometimes they all run
fine, while other times I get an error 127
on the table it is working on.
myisamchk NEVER manages a complete recovery of all
records(typically 25% of the records). This makes it
hard to tell for sure if this has anythingto do with
the size of data imported, since the more files I
import the larger the probability of having corruption.
I have had corruption on a single import too though.
5)Before writing a bug report(the problem may be that
this is erratic and even on my PC corruption is not
consistent, e.g. I may import a file and get
corruption, or I may import another file without
corruption) and hence reproducibility may be
problematic., I would appreciiate someone setting me
straight on the filedescriptor issues(thanks Sinisa
thus far):
-It is not clear to me if the problem may be that when
mysql is importing data, it may be having more files
open than it(or the fs-reiser in this case) can handle.
Could this be the reason for (table)corruption?
-If so, accordingto the manual, there are 2 ways around:
either decrease table_cache in /etc/my.cnf
(currently 512) which however may also affect
performance
as I have a lot of tables
or increase ulimit/open-files-limit
-The question on this first option(table_cache) is:
if now I have 2000 open files and reduce the cache to
256 does it mean I will be getting half the open files?
-Regarding the more desirable option of increasing the
limit, are the two ways equivalent(that is, does open-
file-limit call ulimit?) Is changing either of them
enough , or-as I assume does one really have to change
ulimit?
-I have a ulimit -a limit giving a 1024 open file limit
while cat /proc/sys/fs/file-nr gives a hard limit of
8192.
However, the man page says the system may not allow
you to change ulimit
I did a ulimit -n 8192 as root
then ulimit -a limit says 8192
but when I open a window as a regular user, and do
ulimit -a limit it is still 1024. Rebooting
comes back with 1024
Is it at all possible to change it?
-Also, if I can/have to change open-files-limit,
do I need to do it in
/etc/my.cnf
/usr/bin/mysqld_safe
/both?
Last,
I have a start_Mysql=yes in rc.config
but in contrast to other systems used mysql, mysql does
not start when the system boots. Any ideas why?
Sorry for the many questions.
Thanks in advance
S.Alexiou
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php