Alterações na distribuição 4.0.16 (17 Out 2003)
Funcionalidades adicionadas ou alteradas:
- Write memory allocation information to error log when doing
mysqladmin debug
. This only works on system that support themallinfo()
call (like newer Linux systems). - Added the following new server variables to allow more precise memory allocation:
range_alloc_block_size
,query_alloc_block_size
,query_prealloc_size
,transaction_alloc_block_size
, andtransaction_prealloc_size
. mysqlbinlog
now reads option files. To make this work one must now specify--read-from-remote-server
when reading binary logs from a MariaDB server. (Note that using a remote server is deprecated and may disappear in futuremysqlbinlog
versions).- Block
SIGPIPE
signals also for non-threaded programs. The blocking is moved frommysql_init()
tomysql_server_init()
, which is automatically called on the first call tomysql_init()
. - Added
--libs_r
and--include
options tomysql_config
. - New
`>
prompt forMariaDB
. This prompt is similar to the'>
and'>
prompts, but indicates that an identifier quoted with backticks was begun on an earlier line and the closing backtick has not yet been seen. - Atualizado o
mysql_install_db
para poder usar o endereço de IP da máquina local em vez do nome da máquina ao criar as tabelas de permissões iniciais deskip-name-resolve
foi especificado. Esta opção pode ser útil no FreeBSD para evitar problemas de segurança de threads com o resolver de bibliotecas do FreeBSD. (Obrigado a Jeremy Zawodny pelo patch) - A documentation change: Added a note that when backing up a slave, it is necessary also to back up the
master.info
andrelay-log.info
files, as well as anySQL_LOAD-*
files located in the directory specified by the--slave-load-tmpdir
option. All these files are needed when the slave resumes replication after you restore the slave's data.
Bugs corrigidos:
- Fixed a spurious error
ERROR 14: Can't change size of file (Errcode: 2)
on Windows inDELETE FROM table_name
without aWHERE
clause orTRUNCATE TABLE table_name
, whentable_name
is aMyISAM
table. (Bug#1397) - Fixed a bug that resulted in
thr_alarm queue is full
warnings after increasing themax_connections
variable withSET GLOBAL
. (Bug#1435) - Made
LOCK TABLES
to work whenLock_tables_priv
is granted on the database level andSelect_priv
is granted on the table level. - Fixed crash of
FLUSH QUERY CACHE
on queries that use same table several times (Bug#988). - Fixed core dump bug when setting an enum system variable (such as
SQL_WARNINGS
) toNULL
. - Extended the default timeout value for Windows clients from 30 seconds to 1 year. (The timeout that was added in MariaDB 4.0.15 was way too short). This fixes a bug that caused
ERROR 2013: Lost connection to MariaDB server during query
for queries that lasted longer than 30 seconds, if the client didn't specify a limit withmysql_options()
. Users of 4.0.15 on Windows should upgrade to avoid this problem. - More
out of memory
checking in range optimiser. - Fixed and documented a problem when setting and using a user variable within the same
SELECT
statement. (Bug#1194). - Fixed bug in overrun check for
BLOB
values with compressed tables. This was a bug introduced in 4.0.14. It caused MariaDB to regard some correct tables containingBLOB
values as corrupted. (Bug#770, Bug#1304, and maybe Bug#1295) SHOW GRANTS
showedUSAGE
instead of the real column-level privileges when no table-level privileges were given.- When copying a database from the master,
LOAD DATA FROM MASTER
dropped the corresponding database on the slave, thus erroneously dropping tables that had no counterpart on the master and tables that may have been excluded from replication usingreplicate-*-table
rules. NowLOAD DATA FROM MASTER
no longer drops the database. Instead, it drops only the tables that have a counterpart on the master and that match thereplicate-*-table
rules.replicate-*-db
rules can still be used to include or exclude a database as a whole fromLOAD DATA FROM MASTER
. A database will also be included or excluded as a whole if there are some rules likereplicate-wild-do-table=db1.%
orreplicate-wild-ignore-table=db1.%
, as is already the case forCREATE DATABASE
andDROP DATABASE
in replication. (Bug#1248) - Fixed a bug where
mysqlbinlog
crashed with a segmentation fault when used with the-h
or--host
option. (Bug#1258) - Fixed a bug where
mysqlbinlog
crashed with a segmentation fault when used on a binary log containing only final events forLOAD DATA
. (Bug#1340) - Fixed compilation problem when compiling with OpenSSL 0.9.7 with disabled old DES support (If
OPENSSL_DISABLE_OLD_DES_SUPPORT
option was enabled). - Fixed a bug when two (or more) MariaDB servers were running on the same machine, and they were both slaves, and at least one of them was replicating some
LOAD DATA INFILE
command from its master. The bug was that one slave MariaDB server sometimes deleted theSQL_LOAD-*
files (used for replication ofLOAD DATA INFILE
and located in theslave-load-tmpdir
directory, which defaults totmpdir
) belonging to the other slave MariaDB server of this machine, if these slaves had the sameslave-load-tmpdir
directory. When that happened, the other slave could not replicateLOAD DATA INFILE
and complained about not being able to open someSQL_LOAD-*
file. (Bug#1357) - If
LOAD DATA INFILE
failed for a small file, the master forgot to write a marker (aDelete_file
event) in its binary log, so the slave could not delete 2 files (SQL_LOAD-*.info
andSQL_LOAD-*.data
from itstmpdir
. (Bug#1391) - On Windows, the slave forgot to delete a
SQL_LOAD-*.info
file fromtmpdir
after successfully replicating aLOAD DATA INFILE
command. (Bug#1392) - When a connection terminates, MariaDB writes
DROP TEMPORARY TABLE
statements to the binary log for all temporary tables which the connection had not explicitely dropped. MariaDB forgot to backquote the database and table names in the statement. (Bug#1345) - On some 64-bit machines (some HP-UX and Solaris machines), a slave installed with the 64-bit MariaDB binary could not connect to its master (it connected to itself instead). (Bug#1256, Bug#1381)
- Code was introduced in MariaDB 4.0.15 for the slave to detect that the master had died while writing a transaction to its binary log. This code reported an error in a legal situation: When the slave I/O thread was stopped while copying a transaction to the relay log, the slave SQL thread would later pretend that it found an unfinished transaction. (Bug#1475)