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
e2d8599c
Commit
e2d8599c
authored
Mar 16, 2001
by
monty@donna.mysql.fi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update information about MyISAM files
parent
6f5188d7
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
63 additions
and
3 deletions
+63
-3
Docs/manual.texi
Docs/manual.texi
+63
-3
No files found.
Docs/manual.texi
View file @
e2d8599c
...
...
@@ -501,6 +501,7 @@ MyISAM Tables
* Key space:: Space needed for keys
* MyISAM table formats:: MyISAM table formats
* MyISAM table problems::
MyISAM Table Formats
...
...
@@ -22889,7 +22890,8 @@ based on the @code{ISAM} code and has a lot of useful extensions.
The index is stored in a file with the @code{.MYI} (MYIndex) extension,
and the data is stored in a file with the @code{.MYD} (MYData) extension.
You can check/repair @code{MyISAM} tables with the @code{myisamchk}
utility. @xref{Crash recovery}.
utility. @xref{Crash recovery}. You can compress @code{MyISAM} tables with
@code{myisampack} to take up much less space. @xref{myisampack}.
The following is new in @code{MyISAM}:
...
...
@@ -23042,6 +23044,7 @@ backup media.
@menu
* Key space:: Space needed for keys
* MyISAM table formats:: MyISAM table formats
* MyISAM table problems::
@end menu
@cindex key space, MyISAM
...
...
@@ -23067,7 +23070,7 @@ In @code{MyISAM} tables, you can also prefix compress numbers by specifying
many integer keys that have an identical prefix when the numbers are stored
high-byte first.
@node MyISAM table formats,
, Key space, MyISAM
@node MyISAM table formats,
MyISAM table problems
, Key space, MyISAM
@subsection MyISAM Table Formats
@strong{MyISAM} supports 3 different table types. Two of them are chosen
...
...
@@ -23229,6 +23232,63 @@ columns.
Can be uncompressed with @code{myisamchk}.
@end itemize
@node MyISAM table problems, , MyISAM table formats, MyISAM
@subsection MyISAM table problems.
Each @code{MyISAM} @code{.MYI} file has in the header a counter that can
be used to check if a table has been closed properly.
If you get the following warning from @code{CHECK TABLE} or @code{myisamchk}:
@example
# clients is using or hasn't closed the table properly
@end example
this means that this counter has come out of sync. This doesn't mean
that the table is corrupted, but means that you should at least do a
check on the table to verify that it's ok.
The counter works as follows:
@itemize @bullet
@item
The first time a table is updated in @strong{MySQL}, a counter in the
header of the index files is incremented.
@item
The counter is not changed during further updates.
@item
When the last instance of a table is closed (because of a @code{FLUSH} or
because there isn't room in the table cache) the counter is
decremented if the table has been updated at any point.
@item
When you repair the table or check the table and it was ok,
the counter is reset to 0.
@item
To avoid problems with interaction with other processes that may do a
check on the table, the counter is not decremented on close if it was 0.
@end itemize
In other words, the only ways this can go out of sync are:
@itemize @bullet
@item
The @code{MyISAM} tables are copied without a @code{LOCK} and
@code{FLUSH TABLES}.
@item
@strong{MySQL} has crashed between an update and the final close
(Note that the table may still be ok, as @strong{MySQL} always issues writes
for everything between each statement).
@item
Someone has done a @code{myisamchk --repair} or @code{myisamchk --update-state}on a table that was in use by @code{mysqld}.
@item
Many @code{mysqld} servers are using the table and one has done a
@code{REPAIR} or @code{CHECK} of the table while it was in use by
another server. In this setup the @code{CHECK} is safe to do (even if
you will get the warning from other servers), but @code{REPAIR} should
be avoided as it currently replaces the data file with a new one, which
is not signaled to the other servers.
@end itemize
@cindex tables, merging
@cindex MERGE tables, defined
@node MERGE, ISAM, MyISAM, Table types
...
...
@@ -26775,7 +26835,7 @@ tables}.
* Replication Options:: Replication Options in my.cnf
* Replication SQL:: SQL Commands related to replication
* Replication FAQ:: Frequently Asked Questions about replication
* Replication Problems::
Troubleshooting Replication.
* Replication Problems::
Troubleshooting Replication.
@end menu
@node Replication Intro, Replication Implementation, Replication, Replication
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