持續蓬勃發展的資料庫軟體Mysql官方日前釋出了各平台的Mysql 6.0.2alpha測試版本(研發代號為Falcon),從這個版本開始,支援64位元的Windows作業系統,以及在英特爾平台上運行的Mac OS X作業系統,並開始支援表格空間tablespaces,自己是拿來測試新平台之用。
目前舊版Mysql 4.1系列最新的版本為4.1.23 (12 June 2007),而Mysql官方推薦網站使用的Mysql 5.0系列正式版,具備更多的功能與改善的效率,最新版本為5.0.45 (04 July 2007),也是優格網 – 永遠的真田幸村現在正在用的,被Mysql官方視為現階段一般日常作業環境推薦使用的資料庫版本。
還在測試的Mysql 5.1系列,則標示為beta測試版,比Mysql 6.0的alpha測試版要穩定些,但Mysql 官方也不推薦作為正式環境之應用,最新版本是5.1.21 (16 August 2007)。近期5.0系列與5.1系列的新版本會再陸續釋出。
面對這麼多Mysql版本,目前在一般情況下推薦優先使用Mysql 5.0系列的Mysql 5.0.45和後續版本,還在使用4.1系列的可以儘早升級到5.0系列,4.1系列已經不再更新,除非是重大bug,4.1系列前2個版本更新間隔長達7個月,官方也終止了該系列的產品生命週期(End of Product Lifecycle)。至於5.1系列有更好的syslog功能與許多更新,但還不適合用在一般日常作業用途,而6.0系列更是如此。如果是實驗性質網站,倒是可以玩看看,但得小心資料的備份。
這次Mysql 6.0.2更新與修正的內容如下:
B.1. Changes in release 6.0.2 (04 September 2007)
Functionality added or changed:
*
64-bit Windows support.
*
Mac OS X (Intel) support has been added. To build on Mac OS X from the repository sources you must have the most recent versions of bison, automake, autoconf and libtool installed.
There are known issues with the Falcon on Mac OS X build. (Bug#30564)
*
Support for tablespaces.
*
New performance settings, falcon_log_windows, falcon_index_chill_threshold, and falcon_record_chill_threshold.
*
The Falcon record cache parameters have been altered. The falcon_max_record_memory and falcon_min_record_memory are no longer supported.
Instead, the falcon_record_memory_max, falcon_record_scavenge_threshold, falcon_record_scavenge_floor and falcon_inital_allocation parameters are now used to control the caching of records in memory within Falcon. See Section 3.1, 「Configuration Parameters」. (Bug#30083)
*
The option falcon_initial_allocation has been added to control the initial size of a Falcon tablespace on disk.
*
The option falcon_disable_fsync has been added. If set to true, then the periodic fsync operation is disabled.
Bugs fixed:
*
Renaming tables to or from Falcon tablespaces would raise an error. (Bug#22155)
*
Some Falcon variables were marked as status variables. (Bug#29169)
*
Under certain situations the Falcon tables and log could become corrupt and prevent recovery from a crashed version of the files. (Bug#28351)
*
Updating a large table without an index would lock all the records during a transaction and unlock the records individually. (Bug#30124)
*
Falcon would incorrectly allow creation of two tables with the same name but different case sensitivity, without raising an error, but treat the two tables as the same during further queries. (Bug#30210).
*
When loading large datasets into a Falcon table mysqld could crash. An Out of memory error will now be raised in this situation. (Bug#30251)
*
An assertion could be thrown during high number of concurrent updates of BLOB fields. (Bug#30463)
*
Accessing an INFORMATION_SCHEMA table generated by Falcon, when Falcon has not been enabled would cause mysqld to crash. (Bug#29014)
*
Falcon could occasionally report a problem with a duplicate key error during INSERT when inserting the same data into a unique column on two or more connections simultaneously. (Bug#29240)
*
For debug builds, the server crashed when inserting a negated DECIMAL value of maximum precision (65 digits), such as for INSERT INTO … SELECT -col_val … (Bug#28810)
*
Creating a tablespace with a unique name but using the same datafile as an existing tablespace results in the re-initialization of the tablespace and the loss of the data contained in it. Falcon will now report an error if you the datafile already exists. (Bug#29511)
*
DELETE statements could cause a crash when many simultaneous threads are running. (Bug#26475)
*
Using SELECT on a table that uses two INT columns with a single index would fail to return rows that queried both columns and complex comparison operators. (Bug#29319)
*
Wide DECIMAL columns would show rounding errors during SELECT. (Bug#29201)
*
Inserting into a table with a unique index simultaneously on two connections in a way that would cause a deadlock would cause MySQL to hang. The deadlock situation is now identified and an error will be raised. (Bug#29206)
*
Accessing data within DECIMAL columns wider than 18 digits would cause a crash. (Bug#28725)
*
Falcon would fail to build under Mac OS X/Intel. A preliminary patch is available to allow building under Mac OS X/Intel only (PowerPC support is not yet available). Note that Mac OS X/Intel is still an unsupported platform. (Bug#26466)
*
Under certain situations, shutting down MySQL using mysqladmin could cause Falcon to corrupt the database tables and fail to restart properly. (Bug#26296)
*
Queries could fail with a Can't find record in … error. (Bug#26328)
*
DECIMAL columns with large widths did not work, either during INSERT or SELECT. (Bug#26607).
*
Renaming a database would raise error ERROR 1030 (HY000): Got error 157 from storage engine. (Bug#22182)
*
Loading certain datasets through a direct import could cause index problems and crash. (Bug#26930)
*
Inserting large numbers of identical columns into a table, followed by a SELECT or UPDATE could cause a hang or crash. (Bug#27277)
*
The value for FALCON_SYSTEM_MEMORY_SUMMARY.TOTAL_SPACE in INFORMATION_SCHEMA would be reported incorrectly. (Bug#28197)
*
Unique indexes on VARCHAR columns are not identified correctly. (Bug#28500)
*
mysqld would crash after a high number of ALTER TABLE, INSERT and UPDATEstatements. (Bug#22154, Bug#28515)
*
Searching for rows within a table with some non-western character sets would fail to return the right results if the SELECT relied on an index. (Bug#27697)
*
Searches for accented characters in a UTF8 table fail if an index exists for the column. (Bug#26057)
*
Searches using LIKE on a UTF8 table fail if the search relies an indexed column. (Bug#24921)
*
Searches for data on a partial index for a column using the UTF8 character set would fail. (Bug#24858)
*
Searches for data using exotic collation/character sets fail if the search relies on an indexed column. (Bug#23689)
*
Inserting rows to a table with a unique index where the unique index value is identical on two separate connections would block the second transaction. (Bug#22847)
*
Large inserts to a table within a single transaction trigger high memory usage and may ultimately crash. (Bug#22169)