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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
26b607a7
Commit
26b607a7
authored
Jun 13, 2002
by
unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Style/spelling fixups, mainly of new privileges.
parent
49c15c3f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
134 additions
and
118 deletions
+134
-118
Docs/manual.texi
Docs/manual.texi
+134
-118
No files found.
Docs/manual.texi
View file @
26b607a7
...
...
@@ -3671,7 +3671,7 @@ For platform-specific bugs, see the sections about compiling and porting.
* TODO MySQL 4.1:: Things That Should be in 4.1
* TODO future:: Things That Must be Done in the Near Future
* TODO sometime:: Things That Have to be Done Sometime
* TODO unplanned:: Things We
Have No Plans to d
o
* TODO unplanned:: Things We
Don't Plan To D
o
@end menu
This appendix lists the features that we plan to implement in MySQL Server.
...
...
@@ -3832,7 +3832,7 @@ Faster row handling (less copying)
@node TODO future, TODO sometime, TODO MySQL 4.1, TODO
@subsection Things That Must be Done in the
Real
Near Future
@subsection Things That Must be Done in the Near Future
@itemize @bullet
@item
...
...
@@ -4135,7 +4135,7 @@ Time is given according to amount of work, not real time.
@node TODO unplanned, , TODO sometime, TODO
@subsection Things We
Have No Plans to d
o
@subsection Things We
Don't Plan To D
o
@itemize @bullet
@item
...
...
@@ -8153,24 +8153,24 @@ MySQL 4.0 has a lot of new privileges in the @code{mysql.user} table.
@xref{GRANT}.
To get these new privileges to work, one must run the
@code{mysql_fix_privilege_tables} script
s
. Until this script is run all
users have the @
code{SHOW DATABASES}, @code{CREATE TEMPORARY TABLES
},
and @
code{LOCK TABLES} privileges. @code{SUPER} and @code{EXECUTE
}
privileges take
s their value from @code{PROCESS}. @code{REPLICATION
SLAVE} and @code{REPLICATION CLIENT} takes their values from
@code{FILE
}.
@code{mysql_fix_privilege_tables} script. Until this script is run all
users have the @
strong{show databases}, @strong{create temporary tables
},
and @
strong{lock tables} privileges. @strong{super} and @strong{execute
}
privileges take
their value from @strong{process}.
@strong{replication slave} and @code{replication client} take their
values from @strong{file
}.
If you have any scripts that creates new users, you may want to change
them to use the new privileges. If you are not using @code{GRANT}
commands in the scrip
its, this is a good time to change the scripts..
.
commands in the scrip
ts, this is a good time to change your scripts
.
In
4.0.2 the option @code{--safe-show-database} doesn't do anything an
d
should not be used
. @xref{Privileges options}.
In
version 4.0.2 the option @code{--safe-show-database} is deprecate
d
(and no longer does anything)
. @xref{Privileges options}.
If you get access denied errors for new users
with MySQL
4.0.2, you
If you get access denied errors for new users
in version
4.0.2, you
should check if you need some of the new grants that you didn't need
before. In particular, you will need @
code{REPLICATION SLAVE} (instead
of @code{FILE
}) for new slaves.
before. In particular, you will need @
strong{replication slave}
(instead of @strong{file
}) for new slaves.
@item
@code{DOUBLE} and @code{FLOAT} columns are now honoring the
@code{UNSIGNED} flag on storage (before, @code{UNSIGNED} was ignored for
...
...
@@ -8622,7 +8622,7 @@ what you should do, try our binary first to see if it meets your needs, and
worry about your own build only after you have discovered that our binary is
not good enough. In that case, we would appreciate a note about it, so we
can build a better binary next time. For a typical user, even for setups with
a lot of concurrent connections and/or tables exceeding
2GB
limit, our
a lot of concurrent connections and/or tables exceeding
the 2G
limit, our
binary in most cases is the best choice.
MySQL uses LinuxThreads on Linux. If you are using an old
...
...
@@ -8702,7 +8702,7 @@ If you build MySQL yourself and do not want to mess with patching
LinuxThreads, you should set @code{max_connections} to a value no higher
than 500. It should be even less if you have a large key buffer, large
heap tables, or some other things that make @code{mysqld} allocate a lot
of memory, or if you are running a 2.2 kernel with a 2G
B
patch. If you are
of memory, or if you are running a 2.2 kernel with a 2G patch. If you are
using our binary or RPM version 3.23.25 or later, you can safely set
@code{max_connections} at 1500, assuming no large key buffer or heap tables
with lots of data. The more you reduce @code{STACK_SIZE} in LinuxThreads
...
...
@@ -9682,7 +9682,7 @@ For the moment, the workaround is to list the parameters in the
@file{C:\my.cnf} file instead.
@item
It would be real nice to be able to kill @code{mysqld} from the task manager.
It would be real
ly
nice to be able to kill @code{mysqld} from the task manager.
For the moment, you must use @code{mysqladmin shutdown}.
@item
...
...
@@ -10045,7 +10045,7 @@ as well as specific versions within those.
FreeBSD 3.x is recommended for running MySQL since the thread package
is much more integrated.
The easiest and therefor the preferred way to install is to use the
The easiest and therefor
e
the preferred way to install is to use the
mysql-server and mysql-client ports available on
@uref{http://www.freebsd.org/}.
...
...
@@ -11909,8 +11909,8 @@ The list of databases is probably different on your machine, but the
privileges. The @code{test} database is often provided as a workspace for
users to try things out.
Note that you may not see all databases if you don't have the
@code{SHOW
DATABASES
} privilege. @xref{GRANT}.
Note that you may not see all databases if you don't have the
@strong{show databases
} privilege. @xref{GRANT}.
If the @code{test} database exists, try to access it:
...
...
@@ -14306,7 +14306,11 @@ information of how to optimise these. @xref{Server parameters}.
Skip some optimise stages. Implies @code{--skip-delay-key-write}.
@item --safe-show-database
Don't show databases for which the user doesn't have any privileges.
With this option, the @code{SHOW DATABASES} command returns only those
databases for which the user has some kind of privilege.
From version 4.0.2 this option is deprecated and doesn't do anything
(the option is enabled by default) as we now have the
@strong{show databases} privilege. @xref{GRANT}.
@item --safe-user-create
If this is enabled, a user can't create new users with the GRANT
...
...
@@ -14362,9 +14366,10 @@ freeing. As this checking is very slow, you can avoid this, when you don't
need memory checking, by using this option.
@item --skip-show-database
Don't allow 'SHOW DATABASE' commands, unless the user has the
@strong{SHOW DATABASE} privilege. In 4.0.2 this command should not be
need anymore.
Don't allow @code{SHOW DATABASES} command, unless the user has the
@strong{show databases} privilege. From version 4.0.2 you should no longer
need this option, since access can now be granted specifically with the
@strong{show databases} privilege.
@item --skip-stack-trace
Don't write stack traces. This option is useful when you are running
...
...
@@ -15139,10 +15144,11 @@ If one uses @code{--local-infile=0} then one can't use @code{LOAD DATA LOCAL
INFILE}.
@item --safe-show-database
With this option, @code{SHOW DATABASES} returns only those databases for
which the user has some kind of privilege. In 4.0.2 this command doesn't
do anything (the option is enabled by default) as we now have the
@code{SHOWS DATABASES} privilege. @xref{GRANT}.
With this option, the @code{SHOW DATABASES} command returns only those
databases for which the user has some kind of privilege.
From version 4.0.2 this option is deprecated and doesn't do anything
(the option is enabled by default) as we now have the
@strong{show databases} privilege. @xref{GRANT}.
@item --safe-user-create
If this is enabled, an user can't create new users with the @code{GRANT}
...
...
@@ -15175,8 +15181,10 @@ systems that use MIT-pthreads, because the MIT-pthreads package doesn't
support Unix sockets.
@item --skip-show-database
With this option, the
@code{SHOW DATABASES} statement doesn't return anything.
Don't allow @code{SHOW DATABASES} command, unless the user has the
@strong{show databases} privilege. From version 4.0.2 you should no longer
need this option, since access can now be granted specifically with the
@strong{show databases} privilege.
@end table
...
...
@@ -15461,10 +15469,11 @@ MySQL server reads the contents of these tables when it starts up
and under the circumstances indicated in @ref{Privilege changes}.
The names used in this manual to refer to the privileges provided by
MySQL
4.0.2 are shown here, along with the table column name associated
with each privilege in the grant tables and the context in which the
privilege applies:
MySQL
version 4.0.2 are shown here, along with the table column name
associated with each privilege in the grant tables and the context in
which the
privilege applies:
@c FIX agl 2002-06-13 Long items added, will need to re-measure colwidths!
@multitable @columnfractions .15 .20 .35
@item @strong{Privilege} @tab @strong{Column} @tab @strong{Context}
@item @strong{alter} @tab @code{Alter_priv} @tab tables
...
...
@@ -15552,7 +15561,7 @@ The @code{shutdown} command shuts down the server.
The @code{processlist} command displays information about the threads
executing within the server. The @code{kill} command kills server
threads. You can always display or kill your own threads, but you need
the @strong{
PROCESS} privilege to display and @code{SUPER
} privilege to
the @strong{
process} privilege to display and @strong{super
} privilege to
kill threads initiated by other users. @xref{KILL}.
It is a good idea in general to grant privileges only to those users who need
...
...
@@ -16501,6 +16510,7 @@ For examples of how @code{GRANT} works, see @ref{Adding users}.
For the @code{GRANT} and @code{REVOKE} statements, @code{priv_type} may be
specified as any of the following:
@c FIX agl 2002-06-13 New table, need to measure colwidths!
@multitable @columnfractions .30 .70
@item @code{ALL [PRIVILEGES]} @tab Sets all simple privileges except @code{WITH GRANT OPTION}
@item @code{ALTER} @tab Allows usage of @code{ALTER TABLE}
...
...
@@ -16526,15 +16536,16 @@ specified as any of the following:
@item @code{USAGE} @tab Synonym for ``no privileges.''
@end multitable
@
code{USAGE
} can be used when you want to create a user that has no privileges.
@
strong{usage
} can be used when you want to create a user that has no privileges.
The privileges @code{CREATE TEMPORARY TABLE}, @code{EXECUTE},
@code{LOCK TABLES}, @code{REPLICATION ...}, @code{SHOW DATABASES} and
@code{SUPER} are new for MySQL 4.0.2. To use these, after upgrading to
4.0.2, one has to run the @code{mysql_fix_privilege_tables} script.
The privileges @strong{create temporary table}, @strong{execute},
@strong{lock tables}, @strong{replication ...}, @strong{show databases} and
@strong{super} are new for in version 4.0.2. To use these new privileges
after upgrading to 4.0.2, you have to run the
@code{mysql_fix_privilege_tables} script.
In older MySQL versions, the @
code{PROCESS} privilege gave the same rights
as the new @code{SUPER
} privilege.
In older MySQL versions, the @
strong{process} privilege gives the same
rights as the new @strong{super
} privilege.
To revoke the @strong{grant} privilege from a user, use a @code{priv_type}
value of @code{GRANT OPTION}:
...
...
@@ -16650,10 +16661,10 @@ You should be careful to whom you give the @strong{grant} privilege, as two
users with different privileges may be able to join privileges!
@code{MAX_QUERIES_PER_HOUR #}, @code{MAX_UPDATES_PER_HOUR #} and
@code{MAX_CONNECTIONS_PER_HOUR #} are new in MySQL
4.0.2. They limit
the number of queries/updates and logins the user can do during one
hour. If @code{#} is 0 (default), then this means that there is no
limitations for the
user. @xref{User resources}.
@code{MAX_CONNECTIONS_PER_HOUR #} are new in MySQL
version 4.0.2.
These options limit the number of queries/updates and logins the user can
do during one hour. If @code{#} is 0 (default), then this means that there
are no limitations for that
user. @xref{User resources}.
You cannot grant another user a privilege you don't have yourself;
the @strong{grant} privilege allows you to give away only those privileges
...
...
@@ -16998,7 +17009,7 @@ earlier in the @code{user} table sort order.
@item admin
A user who can connect from @code{localhost} without a password and who is
granted the @strong{reload} and @strong{
PROCESS
} administrative privileges.
granted the @strong{reload} and @strong{
process
} administrative privileges.
This allows the user to execute the @code{mysqladmin reload},
@code{mysqladmin refresh}, and @code{mysqladmin flush-*} commands, as well as
@code{mysqladmin processlist} . No database-related privileges are granted.
...
...
@@ -19211,9 +19222,9 @@ Each connection to @code{mysqld} runs in a separate thread. You can see
which threads are running with the @code{SHOW PROCESSLIST} command and kill
a thread with the @code{KILL thread_id} command.
If you have the @strong{
PROCESS
} privilege, you can see all threads.
If you have the @
code{SUPER} privilege
you can kill all threads.
Otherwise, you can
see and kill only
your own threads.
If you have the @strong{
process
} privilege, you can see all threads.
If you have the @
strong{super} privilege,
you can kill all threads.
Otherwise, you can
only see and kill
your own threads.
You can also use the @code{mysqladmin processlist} and @code{mysqladmin kill}
commands to examine and kill threads.
...
...
@@ -19320,10 +19331,11 @@ mysql> SHOW INDEX FROM mytable FROM mydb;
mysql> SHOW INDEX FROM mydb.mytable;
@end example
@code{SHOW DATABASES} lists the databases on the MySQL server host. You
can also get this list using the @code{mysqlshow} command. In MySQL
4.0.2 you will only see those databases for which you have some kind of
privilege, if you don't have the global @code{SHOW DATABASES} privilege.
@code{SHOW DATABASES} lists the databases on the MySQL server host.
You can also get this list using the @code{mysqlshow} command line tool.
In version 4.0.2 you will only see those databases for which you have some
kind of privilege, if you don't have the global @strong{show databases}
privilege.
@code{SHOW TABLES} lists the tables in a given database. You can also
get this list using the @code{mysqlshow db_name} command.
...
...
@@ -20120,7 +20132,7 @@ Is ON if we only allow local (socket) connections.
@item @code{skip_show_database}
This prevents people from doing @code{SHOW DATABASES} if they don't have
the @strong{
PROCESS
} privilege. This can improve security if you're
the @strong{
process
} privilege. This can improve security if you're
concerned about people being able to see what databases other users
have. See also @code{safe_show_database}.
...
...
@@ -20228,16 +20240,17 @@ subsystem)
@cindex threads, display
@cindex processes, display
@code{SHOW [FULL] PROCESSLIST} shows you which threads are running. You can
also get this information using the @code{mysqladmin processlist}
command. If you have the @strong{SUPER} privilege, you can see all
threads. Otherwise, you can see only your own threads. @xref{KILL, ,
@code{KILL}}. If you don't use the @code{FULL} option, then only
the first 100 characters of each query will be shown.
@code{SHOW [FULL] PROCESSLIST} shows you which threads are running.
You can also get this information using the @code{mysqladmin processlist}
command. If you have the @strong{super} privilege, you can see all
threads. Otherwise, you can see only your own threads.
@xref{KILL, ,@code{KILL}}.
If you don't use the @code{FULL} option, then only the first 100
characters of each query will be shown.
This command is very useful if you get the 'too many connections' error
message and want to find out what's going on. MySQL reserves
one extra connection for a client with the @strong{
SUPER
} privilege
one extra connection for a client with the @strong{
super
} privilege
to ensure that you should always be able to login and check the system
(assuming you are not giving this privilege to all your users).
...
...
@@ -23593,11 +23606,11 @@ do not report bugs until you have verified that the problem is present
in the latest release.
@item
Set up special a replication user on the master with the @
code{FILE} (in
MySQL versions older than 4.0.2) or @code{REPLICATION SLAVE} privilege
in newer MySQL versions. You must also gived permission to connect from
all the slaves. If the user is only doing replication (which is
recommended), you don't need to grant any additional privileges.
Set up special a replication user on the master with the @
strong{file}
(in MySQL versions older than 4.0.2) or @strong{replication slave}
privilege in newer MySQL versions. You must also have given permission
to connect from all the slaves. If the user is only doing replication
(which is
recommended), you don't need to grant any additional privileges.
For example, to create a user named @code{repl} which can access your
master from any host, you might use this command:
...
...
@@ -23812,8 +23825,8 @@ a database that was excluded from replication.
@item
Starting in Version 3.23.16, @code{SET SQL_LOG_BIN = 0} will turn off
replication (binary) logging on the master, and @code{SET SQL_LOG_BIN =
1} will turn it back on -- you must have the @strong{
SUPER
} (in MySQL
4.0.2 and above) or @strong{
PROCESS
} (in older MySQL versions) privilege
1} will turn it back on -- you must have the @strong{
super
} (in MySQL
4.0.2 and above) or @strong{
process
} (in older MySQL versions) privilege
to do this.
@item
Starting in Version 3.23.19, you can clean up stale replication leftovers when
...
...
@@ -24152,11 +24165,11 @@ summary of commands:
@tab Stops the slave thread. (Slave)
@item @code{SET SQL_LOG_BIN=0}
@tab Disables update logging if the user has the @strong{
SUPER
} privilege.
@tab Disables update logging if the user has the @strong{
super
} privilege.
Ignored otherwise. (Master)
@item @code{SET SQL_LOG_BIN=1}
@tab Re-enables update logging if the user has the @strong{
SUPER
} privilege.
@tab Re-enables update logging if the user has the @strong{
super
} privilege.
Ignored otherwise. (Master)
@item @code{SET SQL_SLAVE_SKIP_COUNTER=n}
...
...
@@ -27663,12 +27676,12 @@ can be restored by using a @code{SQL_SELECT_LIMIT} value of @code{DEFAULT}.
@item SQL_LOG_OFF = 0 | 1
If set to @code{1}, no logging will be done to the standard log for this
client, if the client has the @strong{
SUPER
} privilege. This does not
client, if the client has the @strong{
super
} privilege. This does not
affect the update log!
@item SQL_LOG_UPDATE = 0 | 1
If set to @code{0}, no logging will be done to the update log for the client,
if the client has the @strong{
SUPER
} privilege. This does not affect the
if the client has the @strong{
super
} privilege. This does not affect the
standard log!
@item SQL_QUOTE_SHOW_CREATE = 0 | 1
...
...
@@ -32999,7 +33012,7 @@ If no @code{key_string} argument is given, @code{DES_DECRYPT()} examines
the first byte of the encrypted string to determine the DES key number
that was used to encrypt the original string, then reads the key
from the @code{des-key-file} to decrypt the message. For this to work
the user must have the @strong{
SUPER
} privilege.
the user must have the @strong{
super
} privilege.
If you pass this function a @code{key_string} argument, that string
is used as the key for decrypting the message.
...
...
@@ -35221,7 +35234,7 @@ connection dies and the name is per connection. This means that two different
connections can both use the same temporary table name without conflicting
with each other or with an existing table of the same name. (The existing table
is hidden until the temporary table is deleted.). In MySQL 4.0.2 one must
have the @
code{CREATE TEMPORARY TABLE
} privilege to be able to create
have the @
strong{create temporary table
} privilege to be able to create
temporary tables.
In MySQL Version 3.23 or later, you can use the keywords
...
...
@@ -36245,10 +36258,11 @@ are locked by the current thread are automatically unlocked when the
thread issues another @code{LOCK TABLES}, or when the connection to the
server is closed.
To use @code{LOCK TABLES} in MySQL 4.0.2 you need the global @code{LOCK
TABLES} privilege and a @code{SELECT} privilege on the involved tables.
In MySQL 3.23 you need to have @code{SELECT}, @code{INSERT},
@code{DELETE} and @code{UPDATE} privileges for the tables.
To use @code{LOCK TABLES} in MySQL 4.0.2 you need the global
@strong{lock tables} privilege and a @strong{select} privilege on the
involved tables. In MySQL 3.23 you need to have @strong{select},
@code{insert}, @strong{delete} and @strong{update} privileges for the
tables.
The main reasons to use @code{LOCK TABLES} are for emulating transactions
or getting more speed when updating tables. This is explained in more
...
...
@@ -36386,7 +36400,7 @@ the next transaction.
The default behavior is to set the isolation level for the next (not
started) transaction. If you use the @code{GLOBAL} keyword, the statement
sets the default transaction level globally for all new connections
created from that point on. You will need the @strong{
SUPER
}
created from that point on. You will need the @strong{
super
}
privilege to do do this. Using the @code{SESSION} keyword sets the
default transaction level for all future transactions performed on the
current connection.
...
...
@@ -37593,7 +37607,7 @@ and use @code{MERGE} table for others. You can even have many
different @code{MERGE} tables active, with possible overlapping files.
@item
More efficient repairs. It's easier to repair the individual files that
are mapped to a @code{MERGE} file than trying to repair a real big file.
are mapped to a @code{MERGE} file than trying to repair a real
ly
big file.
@item
Instant mapping of many files as one. A @code{MERGE} table uses the
index of the individual tables. It doesn't need to maintain an index of
...
...
@@ -38603,17 +38617,14 @@ SHOW TABLE STATUS FROM yourdatabasename LIKE 'T'
The foreign key constraints are listed in the table comment of
the output.
InnoDB does not yet support @code{ON DELETE CASCADE}
or other special options on the constraints.
@node Adding and removing, Backing up, Using InnoDB tables, InnoDB
@subsection Adding and Removing InnoDB Data and Log Files
You cannot increase the size of an InnoDB datafile. To add more into
your tablespace you have to add a new datafile. To do this you have to
shut down your MySQL database, edit the @file{my.cnf} file, adding a
new file to @code{innodb_data_file_path}, and then start MySQL
again.
From version 3.23.50 and 4.0.2 you can specify the last InnoDB datafile
to @code{autoextend}. Alternatively, you can increase to your tablespace
by specifying an additional datafile. To do this you have to shut down
the MySQL server, edit the @file{my.cnf} file adding a new datafile
to @code{innodb_data_file_path}, and then start the MySQL server
again.
Currently you cannot remove a datafile from InnoDB. To decrease the
size of your database you have to use @file{mysqldump} to dump
...
...
@@ -42336,8 +42347,8 @@ if(mysql_drop_db(&mysql, "my_database"))
@subsubheading Description
Instructs the server to write some debug information to the log.
The
connected user must have the @strong{SUPER} privilege for this to work
.
Instructs the server to write some debug information to the log.
For
this to work, the connected user must have the @strong{super} privilege
.
@subsubheading Return Values
...
...
@@ -46476,7 +46487,7 @@ If you need more connections than the default (100), then you should restart
Note that @code{mysqld} actually allows (@code{max_connections}+1)
clients to connect. The last connection is reserved for a user with the
@strong{
SUPER
} privilege. By not giving this privilege to normal
@strong{
super
} privilege. By not giving this privilege to normal
users (they shouldn't need this), an administrator with this privilege
can log in and use @code{SHOW PROCESSLIST} to find out what could be
wrong. @xref{SHOW}.
...
...
@@ -46665,12 +46676,12 @@ There is a couple of different cases when you can get this error:
@itemize @bullet
@item
You are using an older MySQL version
s ( <
3.23.0) when an in-memory
temporary table becomes larger than @code{tmp_table_size} bytes.
To
avoid this problem, you can use the @code{-O tmp_table_size=#} option to
@code{mysqld} to increase the temporary table size or use the SQL option
@code{SQL_BIG_TABLES} before you issue the problematic query. @xref{SET
OPTION, ,
@code{SET OPTION}}.
You are using an older MySQL version
(before
3.23.0) when an in-memory
temporary table becomes larger than @code{tmp_table_size} bytes.
To avoid this problem, you can use the @code{-O tmp_table_size=#} option
to make @code{mysqld} increase the temporary table size or use the SQL
option @code{SQL_BIG_TABLES} before you issue the problematic query.
@xref{SET OPTION, ,
@code{SET OPTION}}.
You can also start @code{mysqld} with the @code{--big-tables} option.
This is exactly the same as using @code{SQL_BIG_TABLES} for all queries.
...
...
@@ -46679,28 +46690,32 @@ In MySQL Version 3.23, in-memory temporary tables will automatically be
converted to a disk-based @code{MyISAM} table after the table size gets
bigger than @code{tmp_table_size}.
@item
You are using InnoDB tables and run out of room in the InnoDB tablespace.
In this case the solution is to add extend the InnoDB table space.
You are using @code{InnoDB} tables and run out of room in the
@code{InnoDB} tablespace. In this case the solution is to extend the
@code{InnoDB} tablespace.
@item
You are using ISAM/MyISAM tables on a OS that only supports 2G files
and you have hit this limit for the data or index file.
You are using @code{ISAM} or @code{MyISAM} tables on an OS that only
supports files of 2G in size and you have hit this limit for the data
or index file.
@item
You are using
MyISAM tables and the needed data or index size is bigger
than what MySQL has allocated pointers for. (If you don't specify
You are using
@code{MyISAM} tables and the needed data or index size is
bigger
than what MySQL has allocated pointers for. (If you don't specify
@code{MAX_ROWS} to @code{CREATE TABLE} MySQL will only allocate pointers
to hold 4G of data).
One can check the maximum data/index sizes by doing @code{SHOW TABLE
STATUS FROM database LIKE 'table_name} or using @code{myisamchk -dv
database/table_name}.
You can check the maximum data/index sizes by doing
@example
SHOW TABLE STATUS FROM database LIKE 'table_name';
@end example
or using @code{myisamchk -dv database/table_name}.
If this is the problem, you can fix it by doing something like:
@code{ALTER TABLE table_name MAX_ROWS=1000000000 AVG_ROW_LENGTH=XXX}.
@example
ALTER TABLE table_name MAX_ROWS=1000000000 AVG_ROW_LENGTH=nnn;
@end example
You only have to specify @code{AVG_ROW_LENGTH} for tables with BLOB/TEXT
fields as in this case MySQL can't optimise the
needed space just
based
on the number of rows.
fields as in this case MySQL can't optimise the
space required
based
on
ly on
the number of rows.
@end itemize
...
...
@@ -49442,10 +49457,10 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}.
@itemize @bullet
@item
Added privileges @
code{CREATE TEMPORARY TABLE}, @code{LOCK TABLES
},
@
code{REPLICATION CLIENT}, @code{REPLICATION SLAVE}, @code{SHOW
DATABASES} and @code{SUPER}. To use these, one must run th
e
@code{mysql_fix_privilege_tables}
.
Added privileges @
strong{create temporary table}, @strong{lock tables
},
@
strong{replication client}, @strong{replication slave},
@strong{show databases} and @strong{super}. To use these, you must hav
e
run the @code{mysql_fix_privilege_tables} script after upgrading
.
@item
Fixed query cache align data bug.
@item
...
...
@@ -53528,8 +53543,9 @@ Changed optimiser to make it better at deciding when to do a full join
and when using keys.
@item
You can now use @code{mysqladmin proc} to display information about your own
threads. Only users with the @strong{PROCESS} privilege can get
information about all threads. (In 4.0.2 one need the @strong{SUPER} privilege for this.)
threads. Only users with the @strong{process} privilege can get
information about all threads.
(In 4.0.2 one needs the @strong{super} privilege for this.)
@item
Added handling of formats @code{YYMMDD}, @code{YYYYMMDD},
@code{YYMMDDHHMMSS} for numbers when using @code{DATETIME} and
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