Unix Technical Forum

SEO

vBulletin Search Engine Optimization


Go Back   Unix Technical Forum > Database Server Software > MySQL > MySQL General forum

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 03-17-2008, 06:12 AM
Joerg Bruehe
 
Posts: n/a
Default MySQL 6.0.4 Alpha has been released ! (part 1 of 2)

Dear MySQL users,

MySQL 6.0.4-alpha, a new version of the MySQL database system including
the Falcon transactional storage engine (now at beta stage), has been
released. The main page for MySQL 6.0 is at:

http://www.mysql.com/mysql60/

If you are new to the Falcon storage engine and need more information,
please read the Falcon Evaluation Guide at:

http://www.mysql.com/why-mysql/white...ng-started.php

and the Falcon White Paper at:

http://www.mysql.com/why-mysql/white...nes-falcon.php

MySQL 6.0.4-alpha is available in source and binary form for a number
of platforms from our download pages at

http://dev.mysql.com/downloads/mysql/6.0.html

and mirror sites. Note that not all mirror sites may be up to date at
this point in time, so if you can't find this version on some mirror,
please try again later or choose another download site.

We welcome and appreciate your feedback, bug reports, bug fixes,
patches etc.:

http://forge.mysql.com/wiki/Contributing

Despite all trimming, describing all changes since the last released
version of MySQL 6.0 exceeds the mailing list configuration.
We had to split this message into two parts, this one (part 1) lists all
changes which are labeled "functionality", "security", "incompatible",
or "important".
You can view the full list online at

http://dev.mysql.com/doc/refman/6.0/en/news-6-0-4.html



"Functionality", "security", "incompatible", or "important" changes
since the last release:

Functionality added or changed:
* Important Change: Partitioning: Security Fix: It was possible,
by creating a partitioned table using the DATA DIRECTORY and
INDEX DIRECTORY options to gain privileges on other tables
having the same name as the partitioned table. As a result of
this fix, any table-level DATA DIRECTORY or INDEX DIRECTORY
options are now ignored for partitioned tables.
(Bug#32091: http://bugs.mysql.com/32091, CVE-2007-5970
(http://cve.mitre.org/cgi-bin/cvename...CVE-2007-5970))
See also Bug#29325: http://bugs.mysql.com/29325,
Bug#32111: http://bugs.mysql.com/32111
* Incompatible Change: The Unicode implementation has been
extended to provide support for supplementary characters that
lie outside the Basic Multilingual Plane (BMP). Noteworthy
features:
+ utf16 and utf32 character sets have been added. These correspond to
the UTF-16 and UTF-32 encodings of the Unicode character set, and
they both support supplementary characters.
+ The utf8 character set from previous versions of MySQL
has been renamed to utf8mb3, to reflect that its encoding
uses a maximum of three bytes for multi-byte characters.
(Old tables that previously used utf8 will be reported as
using utf8mb3 after an in-place upgrade to MySQL 6.0, but
otherwise work as before.)
+ The new utf8 character set in MySQL 6.0 is similar to
utf8mb3, but its encoding allows up to four bytes per
character to enable support for supplementary characters.
+ The ucs2 character set is essentially unchanged except
for the inclusion of some newer BMP characters.
In most respects, upgrading from MySQL 5.1 to 6.0 should
present few problems with regard to Unicode usage, although
there are some potential areas of incompatibility. Some
examples:
+ For the variable-length character data types (VARCHAR and
the TEXT types), the maximum length in characters for
utf8 columns is less in MySQL 6.0 than previously.
+ For all character data types (CHAR, VARCHAR, and the TEXT
types), the maximum number of characters for utf8 columns
that can be indexed is less in MySQL 6.0 than previously.
Consequently, if you want to upgrade tables from the old utf8
(now utf8mb3) to the current utf8, it may be necessary to
change some column or index definitions.
For additional details about the new Unicode character sets
and potential incompatibilities, see Section 9.1.8, "Unicode
Support," and Section 9.1.9, "Upgrading from Previous to
Current Unicode Support."
If you use events, a known issue is that if you upgrade from
MySQL 5.1 to 6.0.4, the event scheduler will not work, even
after you run mysql_upgrade. (This is an issue only for an
upgrade, not for a new installation of MySQL 6.0.4.) To work
around this upgrading problem, use these instructions:
1. In MySQL 5.1, before upgrading, create a dump file
containing your mysql.event table:
shell> mysqldump -uroot -p mysql event > event.sql
2. Stop the server, upgrade to MySQL 6.0, and start the server.
3. Recreate the mysql.event table using the dump file:
shell> mysql -uroot -p mysql < event.sql
4. Run mysql_upgrade to upgrade the other system tables in
the mysql database:
shell> mysql_upgrade -uroot -p
5. Restart the server. The event scheduler should run normally.
* Incompatible Change: Because of a change in the format of the
Falcon pages stored within Falcon database files, Falcon
databases created in MySQL 6.0.4 (or later) are not compatible
with previous releases, and existing Falcon databases are
incompatible with MySQL 6.0.4 (and later versions. You should
dump Falcon databases using mysqldump before upgrading, and
then reload them after the upgrade. For more information, see
Section 4.5.4, "mysqldump --- A Database Backup Program."
* Partitioning: Error messages for partitioning syntax errors
have been made more descriptive.
(Bug#29368: http://bugs.mysql.com/29368)
* Replication: Replication of the following now switches to row-based
logging in MIXED mode, and generates a warning in STATEMENT mode:
+ USER()
+ CURRENT_USER()
+ CURRENT_USER
+ FOUND_ROWS()
+ ROW_COUNT()
See Section 5.2.4.3, "Mixed Binary Logging (MBL) Format," for
more information. (Bug#12092: http://bugs.mysql.com/12092,
Bug#28086: http://bugs.mysql.com/28086,
Bug#30244: http://bugs.mysql.com/30244)
* Cluster Replication: A replication heartbeat mechanism has been added
to facilitate monitoring. This provides an alternative to checking log
files, making it possible to detect in real time when a slave has
failed. Configuration of heartbeats is done via a new
MASTER_HEARTBEAT_PERIOD = interval clause for the CHANGE MASTER TO
statement (see Section 12.6.2.1, "CHANGE MASTER TO Syntax");
monitoring can be done by checking the values of the status variables
Slave_heartbeat_period and Slave_received_heartbeats (see Section
5.1.5, "Status Variables").
The addition of replication heartbeats addresses a number of issues:
+ Relay logs were rotated every slave_net_timeout seconds
even if no statements were being replicated.
+ SHOW SLAVE STATUS displayed an incorrect value for
seconds_behind_master following a FLUSH LOGS statement.
+ Replication master-slave connections used
slave_net_timeout for connection timeouts.
(Bug#20435: http://bugs.mysql.com/20435,
Bug#29309: http://bugs.mysql.com/29309,
Bug#30932: http://bugs.mysql.com/30932)
* The --event-scheduler option without a value disabled the event
scheduler. Now it enables the event scheduler.
(Bug#31332: http://bugs.mysql.com/31332)
* mysqldump produces a -- Dump completed on DATE comment at the end of
the dump if --comments is given. The date causes dump files for
identical data taken at different times to appear to be different. The
new options --dump-date and --skip-dump-date control whether the date
is added to the comment. --skip-dump-date suppresses date printing.
The default is --dump-date (include the date in the comment).
(Bug#31077: http://bugs.mysql.com/31077)
* MySQL now can be compiled with gcc 4.2.x. There was a problem
involving a conflict with the min() and max() macros in
my_global.h. (Bug#28184: http://bugs.mysql.com/28184)
* It is now possible to set long_query_time in microseconds or to 0.
Setting this value to 0 causes all queries to be recorded in the slow
query log.
Currently, fractional values can be used only when logging to files.
We plan to provide this functionality for logging to tables when
time-related data types are enhanced to support microsecond
resolution. (Bug#25412: http://bugs.mysql.com/25412)
* INFORMATION_SCHEMA implementation changes were made that optimize
certain types of queries for INFORMATION_SCHEMA tables so that they
execute more quickly. Section 7.2.17, "INFORMATION_SCHEMA
Optimization," provides guidelines on how to take advantage of these
optimizations by writing queries that minimize the need for the server
to access the filesystem to obtain the information contained in
INFORMATION_SCHEMA tables. By writing queries that enable the server
to avoid directory scans or opening table files, you will obtain
better performance. (Bug#19588: http://bugs.mysql.com/19588)
* Three options were added to mysqldump make it easier to generate a
dump from a slave server. --dump-slave is similar to --master-data,
but the CHANGE MASTER statement contains binary log coordinates for
the slave's master host, not the slave itself.
--apply-slave-statements causes STOP SLAVE and START SLAVE statements
to be added before the CHANGE MASTER statement and at the end of the
output, respectively. --include-master-host-port causes the CHANGE
MASTER statement to include MASTER_PORT and MASTER_HOST options for
the slave's master. (Bug#8368: http://bugs.mysql.com/8368)
* An alternative thread model is available for dealing with the issues
that occur with the original one-thread-per-client model when scaling
to large numbers of simultaneous connections. This model uses thread
pooling:
+ Connection manager threads do not dedicate a thread to each client
connection. Instead, the connection is added to the set of existing
connection sockets. The server collects input from these sockets and
when a complete request has been received from a given client, it is
queued for service.
+ The server maintains a pool of service threads to process requests.
When a queued request is waiting and there is an available (not
busy) service thread in the pool, the request is given to the thread
to be handled. After processing the request, the service thread
becomes available to process other requests.
Service threads are created at server startup and exist until the
server terminates. A given service thread is not tied to a specific
client connection and the requests that it processes over time may
originate from different client connections.
+ The pool of service threads has a fixed size, so the amount of
memory required for it does not increase as the number of client
connections increases.
For information about choosing one thread model over the other and
tuning the parameters that control thread resources, see Section
7.5.7, "How MySQL Uses Threads for Client Connections."
* When the server detects MyISAM table corruption, it now writes
additional information to the error log, such as the name and
line number of the source file, and the list of threads accessing
the table. Example: Got an error from thread_id=1, mi_dynrec.c:368.
This is useful information to include in bug reports.
* Two options relating to slow query logging have been added for mysqld.
--log-slow-slave-statements causes slow statements executed by a
replication slave to be written to the slow query log;
in_examined_row_limit can be used to cause queries which examine fewer
than the stated number of rows not to be logged.

Bugs fixed:
* Security Fix: Replication: It was possible for any connected user to
issue a BINLOG statement, which could be used to escalate privileges.
Use of the BINLOG statement now requires the SUPER privilege.
(Bug#31611: http://bugs.mysql.com/31611, CVE-2007-6313
(http://cve.mitre.org/cgi-bin/cvename...CVE-2007-6313))
* Security Fix: Three vulnerabilities in yaSSL versions 1.7.5 and
earlier were discovered that could lead to a server crash or execution
of unauthorized code. The exploit requires a server with yaSSL enabled
and TCP/IP connections enabled, but does not require valid MySQL
account credentials. The exploit does not apply to OpenSSL.
Note:
The proof-of-concept exploit is freely available on the Internet-
Everyone with a vulnerable MySQL configuration is advised to upgrade
immediately.
(Bug#33814: http://bugs.mysql.com/33814, CVE-2008-0226
(http://cve.mitre.org/cgi-bin/cvename...CVE-2008-0226),
CVE-2008-0227
(http://cve.mitre.org/cgi-bin/cvename...CVE-2008-0227))
* Security Fix: Using RENAME TABLE against a table with explicit DATA
DIRECTORY and INDEX DIRECTORY options can be used to overwrite system
table information by replacing the symbolic link points. the file to
which the symlink points. MySQL will now return an error when the file
to which the symlink points already exists.
(Bug#32111: http://bugs.mysql.com/32111, CVE-2007-5969
(http://cve.mitre.org/cgi-bin/cvename...CVE-2007-5969))
* Security Fix: ALTER VIEW retained the original DEFINER value,
even when altered by another user, which could allow that user
to gain the access rights of the view. Now ALTER VIEW is
allowed only to the original definer or users with the SUPER
privilege. (Bug#29908: http://bugs.mysql.com/29908)
* Security Fix: When using a FEDERATED table, the local server could be
forced to crash if the remote server returned a result with fewer
columns than expected. (Bug#29801: http://bugs.mysql.com/29801)
* Important Change: Incompatible Change: A number of problems
existed in the implementation of MERGE tables that could cause
problems. The problems are summarized below:
+ Bug#26379: http://bugs.mysql.com/26379 - Combination of
FLUSH TABLE and REPAIR TABLE corrupts a MERGE table. This
was caused in a number of situations:
1. A thread trying to lock a MERGE table performs busy waiting
while REPAIR TABLE or a similar table administration task
is ongoing on one or more of its MyISAM tables.
2. A thread trying to lock a MERGE table performs busy waiting
until all threads that did REPAIR TABLE or similar table
administration tasks on one or more of its MyISAM tables in
LOCK TABLES segments do UNLOCK TABLES. The difference against
problem #1 is that the busy waiting takes place after the
administration task. It is terminated by UNLOCK TABLES only.
3. Two FLUSH TABLES within a LOCK TABLES segment can invalidate
the lock. This does not require a MERGE table. The first
FLUSH TABLES can be replaced by any statement that requires
other threads to reopen the table. In 5.0 and 5.1 a single
FLUSH TABLES can provoke the problem.
+ Bug#26867: http://bugs.mysql.com/26867 - Simultaneously executing
LOCK TABLES and REPAIR TABLE on a MERGE table would result in
memory/cpu hogging.
Trying DML on a MERGE table, which has a child locked and repaired
by another thread, made an infinite loop in the server.
+ Bug#26377: http://bugs.mysql.com/26377 - Deadlock with
MERGE and FLUSH TABLE
Locking a MERGE table and its children in parent-child
order and flushing the child deadlocked the server.
+ Bug#25038: http://bugs.mysql.com/25038 - Waiting TRUNCATE
Truncating a MERGE child, while the MERGE table was in use, let the
truncate fail instead of waiting for the table to become free.
+ Bug#25700: http://bugs.mysql.com/25700 - MERGE base tables get
corrupted by OPTIMIZE/ANALYZE/REPAIR TABLE
Repairing a child of an open MERGE table corrupted the child. It was
necessary to FLUSH the child first.
+ Bug#30275: http://bugs.mysql.com/30275 - MERGE tables:
FLUSH TABLES or UNLOCK TABLES causes server to crash.
Flushing and optimizing locked MERGE children crashed the server.
+ Bug#19627: http://bugs.mysql.com/19627 - temporary merge
table locking
Use of a temporary MERGE table with non-temporary children could
corrupt the children. Temporary tables are never locked. Creation of
tables with non-temporary children of a temporary MERGE table is
now prohibited.
+ Bug#27660: http://bugs.mysql.com/27660 - Falcon: MERGE
table possible
It was possible to create a MERGE table with non-MyISAM children.
+ Bug#30273: http://bugs.mysql.com/30273 - MERGE tables:
Can't lock file (errno: 155)
This was a Windows-only bug. Table administration statements
sometimes failed with "Can't lock file (errno: 155)".
The fix introduces the following changes in behavior:
+ This patch changes the behavior of temporary MERGE tables. Temporary
MERGE must have temporary children. The old behavior was wrong. A
temporary table is not locked. Hence even non-temporary children
were not locked. See Bug#19627: http://bugs.mysql.com/19627.
+ You cannot change the union list of a non-temporary MERGE table
when LOCK TABLES is in effect. The following does not work:
CREATE TABLE m1 ... ENGINE=MRG_MYISAM ...;
LOCK TABLES t1 WRITE, t2 WRITE, m1 WRITE;
ALTER TABLE m1 ... UNION=(t1,t2) ...;
However, you can do this with a temporary MERGE table.
+ You cannot create a MERGE table with CREATE ... SELECT, neither as a
temporary MERGE table, nor as a non-temporary MERGE table. Example:
CREATE TABLE m1 ... ENGINE=MRG_MYISAM ... SELECT ...;
gives error message: table is not BASE TABLE.
(Bug#19627: http://bugs.mysql.com/19627,
Bug#25038: http://bugs.mysql.com/25038,
Bug#25700: http://bugs.mysql.com/25700,
Bug#26377: http://bugs.mysql.com/26377,
Bug#26379: http://bugs.mysql.com/26379,
Bug#26867: http://bugs.mysql.com/26867,
Bug#27660: http://bugs.mysql.com/27660,
Bug#30275: http://bugs.mysql.com/30275,
Bug#30491: http://bugs.mysql.com/30491)
* Incompatible Change: SET PASSWORD statements now cause an implicit
commit, and thus are prohibited within stored functions and triggers.
(Bug#30904: http://bugs.mysql.com/30904)
* Incompatible Change: The mysql_install_db script could fail to locate
some components (including resolveip) during execution if the
--basedir option was specified on the command-line or within the
my.cnf file. This was due to a conflict when comparing the compiled-in
values and the supplied values. The --source-install command-line
option to the script has been removed and replaced with the --srcdir
option. mysql_install_db now locates components either using the
compiled-in options, the --basedir option or --srcdir option.
(Bug#30759: http://bugs.mysql.com/30759)
* Incompatible Change: It was possible for option files to be read twice
at program startup, if some of the standard option file locations
turned out to be the same directory. Now duplicates are removed from
the list of files to be read.
Also, users could not override system-wide settings using ~/.my.cnf
because SYSCONFDIR/my.cnf was read last. The latter file now is read
earlier so that ~/.my.cnf can override system-wide settings.
(Bug#20748: http://bugs.mysql.com/20748)
* Partitioning: Important Note: An apostrophe or single quote character
(') used in the DATA DIRECTORY, INDEX DIRECTORY, or COMMENT for a
PARTITION clause caused the server to crash. When used as part of a
CREATE TABLE statement, the crash was immediate. When used in an ALTER
TABLE statement, the crash did not occur until trying to perform a
SELECT or DML statement on the table. In either case, the server could
not be completely restarted until the .FRM file corresponding to the
newly created or altered table was deleted.
(Bug#30695: http://bugs.mysql.com/30695)


See part 2 for the description of further changes.


Enjoy,
Daniel

--
Daniel Fischer, Team Lead, Build +46 18174400 ext. 4537
MySQL GmbH, Dachauer Strasse 37, D-80335 Muenchen - www.mysql.com
Geschaeftsfuehrer: Kaj Arnoe HRB Muenchen 162140
Are you MySQL certified? mysql.com/certification 49.011, 8.376




Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 03-17-2008, 06:13 AM
Antony T Curtis
 
Posts: n/a
Default Re: MySQL 6.0.4 Alpha has been released ! (part 1 of 2)

Missing feature not mentioned...

Falcon works on PowerPC and UltraSparc.

Regards,
Antony

On 10 Mar, 2008, at 11:53, Joerg Bruehe wrote:

> Dear MySQL users,
>
> MySQL 6.0.4-alpha, a new version of the MySQL database system
> including
> the Falcon transactional storage engine (now at beta stage), has been
> released. The main page for MySQL 6.0 is at:
>
> http://www.mysql.com/mysql60/
>
> If you are new to the Falcon storage engine and need more information,
> please read the Falcon Evaluation Guide at:
>
> http://www.mysql.com/why-mysql/white...ng-started.php
>
> and the Falcon White Paper at:
>
> http://www.mysql.com/why-mysql/white...nes-falcon.php
>
> MySQL 6.0.4-alpha is available in source and binary form for a number
> of platforms from our download pages at
>
> http://dev.mysql.com/downloads/mysql/6.0.html
>
> and mirror sites. Note that not all mirror sites may be up to date at
> this point in time, so if you can't find this version on some mirror,
> please try again later or choose another download site.
>
> We welcome and appreciate your feedback, bug reports, bug fixes,
> patches etc.:
>
> http://forge.mysql.com/wiki/Contributing
>
> Despite all trimming, describing all changes since the last released
> version of MySQL 6.0 exceeds the mailing list configuration.
> We had to split this message into two parts, this one (part 1) lists
> all
> changes which are labeled "functionality", "security", "incompatible",
> or "important".
> You can view the full list online at
>
> http://dev.mysql.com/doc/refman/6.0/en/news-6-0-4.html
>
>
>
> "Functionality", "security", "incompatible", or "important" changes
> since the last release:
>
> Functionality added or changed:
> * Important Change: Partitioning: Security Fix: It was possible,
> by creating a partitioned table using the DATA DIRECTORY and
> INDEX DIRECTORY options to gain privileges on other tables
> having the same name as the partitioned table. As a result of
> this fix, any table-level DATA DIRECTORY or INDEX DIRECTORY
> options are now ignored for partitioned tables.
> (Bug#32091: http://bugs.mysql.com/32091, CVE-2007-5970
> (http://cve.mitre.org/cgi-bin/cvename...CVE-2007-5970))
> See also Bug#29325: http://bugs.mysql.com/29325,
> Bug#32111: http://bugs.mysql.com/32111
> * Incompatible Change: The Unicode implementation has been
> extended to provide support for supplementary characters that
> lie outside the Basic Multilingual Plane (BMP). Noteworthy
> features:
> + utf16 and utf32 character sets have been added. These correspond to
> the UTF-16 and UTF-32 encodings of the Unicode character set, and
> they both support supplementary characters.
> + The utf8 character set from previous versions of MySQL
> has been renamed to utf8mb3, to reflect that its encoding
> uses a maximum of three bytes for multi-byte characters.
> (Old tables that previously used utf8 will be reported as
> using utf8mb3 after an in-place upgrade to MySQL 6.0, but
> otherwise work as before.)
> + The new utf8 character set in MySQL 6.0 is similar to
> utf8mb3, but its encoding allows up to four bytes per
> character to enable support for supplementary characters.
> + The ucs2 character set is essentially unchanged except
> for the inclusion of some newer BMP characters.
> In most respects, upgrading from MySQL 5.1 to 6.0 should
> present few problems with regard to Unicode usage, although
> there are some potential areas of incompatibility. Some
> examples:
> + For the variable-length character data types (VARCHAR and
> the TEXT types), the maximum length in characters for
> utf8 columns is less in MySQL 6.0 than previously.
> + For all character data types (CHAR, VARCHAR, and the TEXT
> types), the maximum number of characters for utf8 columns
> that can be indexed is less in MySQL 6.0 than previously.
> Consequently, if you want to upgrade tables from the old utf8
> (now utf8mb3) to the current utf8, it may be necessary to
> change some column or index definitions.
> For additional details about the new Unicode character sets
> and potential incompatibilities, see Section 9.1.8, "Unicode
> Support," and Section 9.1.9, "Upgrading from Previous to
> Current Unicode Support."
> If you use events, a known issue is that if you upgrade from
> MySQL 5.1 to 6.0.4, the event scheduler will not work, even
> after you run mysql_upgrade. (This is an issue only for an
> upgrade, not for a new installation of MySQL 6.0.4.) To work
> around this upgrading problem, use these instructions:
> 1. In MySQL 5.1, before upgrading, create a dump file
> containing your mysql.event table:
> shell> mysqldump -uroot -p mysql event > event.sql
> 2. Stop the server, upgrade to MySQL 6.0, and start the server.
> 3. Recreate the mysql.event table using the dump file:
> shell> mysql -uroot -p mysql < event.sql
> 4. Run mysql_upgrade to upgrade the other system tables in
> the mysql database:
> shell> mysql_upgrade -uroot -p
> 5. Restart the server. The event scheduler should run normally.
> * Incompatible Change: Because of a change in the format of the
> Falcon pages stored within Falcon database files, Falcon
> databases created in MySQL 6.0.4 (or later) are not compatible
> with previous releases, and existing Falcon databases are
> incompatible with MySQL 6.0.4 (and later versions. You should
> dump Falcon databases using mysqldump before upgrading, and
> then reload them after the upgrade. For more information, see
> Section 4.5.4, "mysqldump --- A Database Backup Program."
> * Partitioning: Error messages for partitioning syntax errors
> have been made more descriptive.
> (Bug#29368: http://bugs.mysql.com/29368)
> * Replication: Replication of the following now switches to row-based
> logging in MIXED mode, and generates a warning in STATEMENT mode:
> + USER()
> + CURRENT_USER()
> + CURRENT_USER
> + FOUND_ROWS()
> + ROW_COUNT()
> See Section 5.2.4.3, "Mixed Binary Logging (MBL) Format," for
> more information. (Bug#12092: http://bugs.mysql.com/12092,
> Bug#28086: http://bugs.mysql.com/28086,
> Bug#30244: http://bugs.mysql.com/30244)
> * Cluster Replication: A replication heartbeat mechanism has been
> added
> to facilitate monitoring. This provides an alternative to checking log
> files, making it possible to detect in real time when a slave has
> failed. Configuration of heartbeats is done via a new
> MASTER_HEARTBEAT_PERIOD = interval clause for the CHANGE MASTER TO
> statement (see Section 12.6.2.1, "CHANGE MASTER TO Syntax");
> monitoring can be done by checking the values of the status variables
> Slave_heartbeat_period and Slave_received_heartbeats (see Section
> 5.1.5, "Status Variables").
> The addition of replication heartbeats addresses a number of issues:
> + Relay logs were rotated every slave_net_timeout seconds
> even if no statements were being replicated.
> + SHOW SLAVE STATUS displayed an incorrect value for
> seconds_behind_master following a FLUSH LOGS statement.
> + Replication master-slave connections used
> slave_net_timeout for connection timeouts.
> (Bug#20435: http://bugs.mysql.com/20435,
> Bug#29309: http://bugs.mysql.com/29309,
> Bug#30932: http://bugs.mysql.com/30932)
> * The --event-scheduler option without a value disabled the event
> scheduler. Now it enables the event scheduler.
> (Bug#31332: http://bugs.mysql.com/31332)
> * mysqldump produces a -- Dump completed on DATE comment at the end of
> the dump if --comments is given. The date causes dump files for
> identical data taken at different times to appear to be different. The
> new options --dump-date and --skip-dump-date control whether the date
> is added to the comment. --skip-dump-date suppresses date printing.
> The default is --dump-date (include the date in the comment).
> (Bug#31077: http://bugs.mysql.com/31077)
> * MySQL now can be compiled with gcc 4.2.x. There was a problem
> involving a conflict with the min() and max() macros in
> my_global.h. (Bug#28184: http://bugs.mysql.com/28184)
> * It is now possible to set long_query_time in microseconds or to 0.
> Setting this value to 0 causes all queries to be recorded in the slow
> query log.
> Currently, fractional values can be used only when logging to files.
> We plan to provide this functionality for logging to tables when
> time-related data types are enhanced to support microsecond
> resolution. (Bug#25412: http://bugs.mysql.com/25412)
> * INFORMATION_SCHEMA implementation changes were made that optimize
> certain types of queries for INFORMATION_SCHEMA tables so that they
> execute more quickly. Section 7.2.17, "INFORMATION_SCHEMA
> Optimization," provides guidelines on how to take advantage of these
> optimizations by writing queries that minimize the need for the server
> to access the filesystem to obtain the information contained in
> INFORMATION_SCHEMA tables. By writing queries that enable the server
> to avoid directory scans or opening table files, you will obtain
> better performance. (Bug#19588: http://bugs.mysql.com/19588)
> * Three options were added to mysqldump make it easier to generate a
> dump from a slave server. --dump-slave is similar to --master-data,
> but the CHANGE MASTER statement contains binary log coordinates for
> the slave's master host, not the slave itself.
> --apply-slave-statements causes STOP SLAVE and START SLAVE statements
> to be added before the CHANGE MASTER statement and at the end of the
> output, respectively. --include-master-host-port causes the CHANGE
> MASTER statement to include MASTER_PORT and MASTER_HOST options for
> the slave's master. (Bug#8368: http://bugs.mysql.com/8368)
> * An alternative thread model is available for dealing with the issues
> that occur with the original one-thread-per-client model when scaling
> to large numbers of simultaneous connections. This model uses thread
> pooling:
> + Connection manager threads do not dedicate a thread to each client
> connection. Instead, the connection is added to the set of existing
> connection sockets. The server collects input from these sockets and
> when a complete request has been received from a given client, it is
> queued for service.
> + The server maintains a pool of service threads to process requests.
> When a queued request is waiting and there is an available (not
> busy) service thread in the pool, the request is given to the thread
> to be handled. After processing the request, the service thread
> becomes available to process other requests.
> Service threads are created at server startup and exist until the
> server terminates. A given service thread is not tied to a specific
> client connection and the requests that it processes over time may
> originate from different client connections.
> + The pool of service threads has a fixed size, so the amount of
> memory required for it does not increase as the number of client
> connections increases.
> For information about choosing one thread model over the other and
> tuning the parameters that control thread resources, see Section
> 7.5.7, "How MySQL Uses Threads for Client Connections."
> * When the server detects MyISAM table corruption, it now writes
> additional information to the error log, such as the name and
> line number of the source file, and the list of threads accessing
> the table. Example: Got an error from thread_id=1, mi_dynrec.c:368.
> This is useful information to include in bug reports.
> * Two options relating to slow query logging have been added for
> mysqld.
> --log-slow-slave-statements causes slow statements executed by a
> replication slave to be written to the slow query log;
> in_examined_row_limit can be used to cause queries which examine fewer
> than the stated number of rows not to be logged.
>
> Bugs fixed:
> * Security Fix: Replication: It was possible for any connected user to
> issue a BINLOG statement, which could be used to escalate privileges.
> Use of the BINLOG statement now requires the SUPER privilege.
> (Bug#31611: http://bugs.mysql.com/31611, CVE-2007-6313
> (http://cve.mitre.org/cgi-bin/cvename...CVE-2007-6313))
> * Security Fix: Three vulnerabilities in yaSSL versions 1.7.5 and
> earlier were discovered that could lead to a server crash or execution
> of unauthorized code. The exploit requires a server with yaSSL enabled
> and TCP/IP connections enabled, but does not require valid MySQL
> account credentials. The exploit does not apply to OpenSSL.
> Note:
> The proof-of-concept exploit is freely available on the Internet-
> Everyone with a vulnerable MySQL configuration is advised to upgrade
> immediately.
> (Bug#33814: http://bugs.mysql.com/33814, CVE-2008-0226
> (http://cve.mitre.org/cgi-bin/cvename...CVE-2008-0226),
> CVE-2008-0227
> (http://cve.mitre.org/cgi-bin/cvename...CVE-2008-0227))
> * Security Fix: Using RENAME TABLE against a table with explicit DATA
> DIRECTORY and INDEX DIRECTORY options can be used to overwrite system
> table information by replacing the symbolic link points. the file to
> which the symlink points. MySQL will now return an error when the file
> to which the symlink points already exists.
> (Bug#32111: http://bugs.mysql.com/32111, CVE-2007-5969
> (http://cve.mitre.org/cgi-bin/cvename...CVE-2007-5969))
> * Security Fix: ALTER VIEW retained the original DEFINER value,
> even when altered by another user, which could allow that user
> to gain the access rights of the view. Now ALTER VIEW is
> allowed only to the original definer or users with the SUPER
> privilege. (Bug#29908: http://bugs.mysql.com/29908)
> * Security Fix: When using a FEDERATED table, the local server could
> be
> forced to crash if the remote server returned a result with fewer
> columns than expected. (Bug#29801: http://bugs.mysql.com/29801)
> * Important Change: Incompatible Change: A number of problems
> existed in the implementation of MERGE tables that could cause
> problems. The problems are summarized below:
> + Bug#26379: http://bugs.mysql.com/26379 - Combination of
> FLUSH TABLE and REPAIR TABLE corrupts a MERGE table. This
> was caused in a number of situations:
> 1. A thread trying to lock a MERGE table performs busy waiting
> while REPAIR TABLE or a similar table administration task
> is ongoing on one or more of its MyISAM tables.
> 2. A thread trying to lock a MERGE table performs busy waiting
> until all threads that did REPAIR TABLE or similar table
> administration tasks on one or more of its MyISAM tables in
> LOCK TABLES segments do UNLOCK TABLES. The difference against
> problem #1 is that the busy waiting takes place after the
> administration task. It is terminated by UNLOCK TABLES only.
> 3. Two FLUSH TABLES within a LOCK TABLES segment can invalidate
> the lock. This does not require a MERGE table. The first
> FLUSH TABLES can be replaced by any statement that requires
> other threads to reopen the table. In 5.0 and 5.1 a single
> FLUSH TABLES can provoke the problem.
> + Bug#26867: http://bugs.mysql.com/26867 - Simultaneously executing
> LOCK TABLES and REPAIR TABLE on a MERGE table would result in
> memory/cpu hogging.
> Trying DML on a MERGE table, which has a child locked and repaired
> by another thread, made an infinite loop in the server.
> + Bug#26377: http://bugs.mysql.com/26377 - Deadlock with
> MERGE and FLUSH TABLE
> Locking a MERGE table and its children in parent-child
> order and flushing the child deadlocked the server.
> + Bug#25038: http://bugs.mysql.com/25038 - Waiting TRUNCATE
> Truncating a MERGE child, while the MERGE table was in use, let the
> truncate fail instead of waiting for the table to become free.
> + Bug#25700: http://bugs.mysql.com/25700 - MERGE base tables get
> corrupted by OPTIMIZE/ANALYZE/REPAIR TABLE
> Repairing a child of an open MERGE table corrupted the child. It was
> necessary to FLUSH the child first.
> + Bug#30275: http://bugs.mysql.com/30275 - MERGE tables:
> FLUSH TABLES or UNLOCK TABLES causes server to crash.
> Flushing and optimizing locked MERGE children crashed the server.
> + Bug#19627: http://bugs.mysql.com/19627 - temporary merge
> table locking
> Use of a temporary MERGE table with non-temporary children could
> corrupt the children. Temporary tables are never locked. Creation of
> tables with non-temporary children of a temporary MERGE table is
> now prohibited.
> + Bug#27660: http://bugs.mysql.com/27660 - Falcon: MERGE
> table possible
> It was possible to create a MERGE table with non-MyISAM children.
> + Bug#30273: http://bugs.mysql.com/30273 - MERGE tables:
> Can't lock file (errno: 155)
> This was a Windows-only bug. Table administration statements
> sometimes failed with "Can't lock file (errno: 155)".
> The fix introduces the following changes in behavior:
> + This patch changes the behavior of temporary MERGE tables. Temporary
> MERGE must have temporary children. The old behavior was wrong. A
> temporary table is not locked. Hence even non-temporary children
> were not locked. See Bug#19627: http://bugs.mysql.com/19627.
> + You cannot change the union list of a non-temporary MERGE table
> when LOCK TABLES is in effect. The following does not work:
> CREATE TABLE m1 ... ENGINE=MRG_MYISAM ...;
> LOCK TABLES t1 WRITE, t2 WRITE, m1 WRITE;
> ALTER TABLE m1 ... UNION=(t1,t2) ...;
> However, you can do this with a temporary MERGE table.
> + You cannot create a MERGE table with CREATE ... SELECT, neither as a
> temporary MERGE table, nor as a non-temporary MERGE table. Example:
> CREATE TABLE m1 ... ENGINE=MRG_MYISAM ... SELECT ...;
> gives error message: table is not BASE TABLE.
> (Bug#19627: http://bugs.mysql.com/19627,
> Bug#25038: http://bugs.mysql.com/25038,
> Bug#25700: http://bugs.mysql.com/25700,
> Bug#26377: http://bugs.mysql.com/26377,
> Bug#26379: http://bugs.mysql.com/26379,
> Bug#26867: http://bugs.mysql.com/26867,
> Bug#27660: http://bugs.mysql.com/27660,
> Bug#30275: http://bugs.mysql.com/30275,
> Bug#30491: http://bugs.mysql.com/30491)
> * Incompatible Change: SET PASSWORD statements now cause an implicit
> commit, and thus are prohibited within stored functions and triggers.
> (Bug#30904: http://bugs.mysql.com/30904)
> * Incompatible Change: The mysql_install_db script could fail to
> locate
> some components (including resolveip) during execution if the
> --basedir option was specified on the command-line or within the
> my.cnf file. This was due to a conflict when comparing the compiled-in
> values and the supplied values. The --source-install command-line
> option to the script has been removed and replaced with the --srcdir
> option. mysql_install_db now locates components either using the
> compiled-in options, the --basedir option or --srcdir option.
> (Bug#30759: http://bugs.mysql.com/30759)
> * Incompatible Change: It was possible for option files to be read
> twice
> at program startup, if some of the standard option file locations
> turned out to be the same directory. Now duplicates are removed from
> the list of files to be read.
> Also, users could not override system-wide settings using ~/.my.cnf
> because SYSCONFDIR/my.cnf was read last. The latter file now is read
> earlier so that ~/.my.cnf can override system-wide settings.
> (Bug#20748: http://bugs.mysql.com/20748)
> * Partitioning: Important Note: An apostrophe or single quote
> character
> (') used in the DATA DIRECTORY, INDEX DIRECTORY, or COMMENT for a
> PARTITION clause caused the server to crash. When used as part of a
> CREATE TABLE statement, the crash was immediate. When used in an ALTER
> TABLE statement, the crash did not occur until trying to perform a
> SELECT or DML statement on the table. In either case, the server could
> not be completely restarted until the .FRM file corresponding to the
> newly created or altered table was deleted.
> (Bug#30695: http://bugs.mysql.com/30695)
>
>
> See part 2 for the description of further changes.
>
>
> Enjoy,
> Daniel
>
> --
> Daniel Fischer, Team Lead, Build +46 18174400 ext. 4537
> MySQL GmbH, Dachauer Strasse 37, D-80335 Muenchen - www.mysql.com
> Geschaeftsfuehrer: Kaj Arnoe HRB Muenchen 162140
> Are you MySQL certified? mysql.com/certification 49.011, 8.376
>
>
>
>
>
> --
> MySQL Announce Mailing List
> For list archives: http://lists.mysql.com/announce
> To unsubscribe: http://lists.mysql.com/announce?
> unsub=annc@mysql.com
>


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 08:19 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
UnixAdminTalk.com

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439