Note: This Beta release, as any other pre-production release, should not be installed on “production” level systems or systems with critical data. It is good practice to back up your data before installing any new version of software. Although MySQL has done its best to ensure a high level of quality, protect your data by making a backup as you would for any software beta release.
Functionality added or changed:
          New privilege CREATE USER was added.
        
          Security improvement: The server creates
          .frm, .MYD,
          .MYI, .MRG,
          .ISD, and .ISM table
          files only if a file with the same name does not already
          exist. Thanks to Stefano Di Paola
          <stefano.dipaola@wisec.it> for finding and
          informing us about this issue. (CVE-2005-0711)
        
          Security improvement: User-defined functions should have at
          least one symbol defined in addition to the
          xxx symbol that corresponds to the main
          xxx() function. These auxiliary symbols
          correspond to the xxx_init(),
          xxx_deinit(),
          xxx_reset(),
          xxx_clear(), and
          xxx_add() functions.
          mysqld by default no longer loads UDFs
          unless they have at least one auxiliary symbol defined in
          addition to the main symbol. The
          --allow-suspicious-udfs option controls
          whether UDFs that have only an xxx symbol
          can be loaded. By default, the option is off.
          mysqld also checks UDF filenames when it
          reads them from the mysql.func table and
          rejects those that contain directory pathname separator
          characters. (It already checked names as given in
          CREATE FUNCTION statements.) See
          Sección 27.2.3.1, “Secuencias de llamada UDF para funciones simples”,
          Sección 27.2.3.2, “Secuencias de llamada UDF para funciones agregadas”, and
          Sección 27.2.3.6, “Precauciones de seguridad en funciones definidas por usuarios”. Thanks to Stefano Di Paola
          <stefano.dipaola@wisec.it> for finding and
          informing us about this issue. (CVE-2005-0709, CVE-2005-0710)
        
          my.cnf in the compile-time datadir
          (usually /usr/local/mysql/data/ in the
          binary tarball distributions) is not being read anymore. The
          value of the environment variable
          MYSQL_HOME is used instead of the
          hard-coded path.
        
          Support for the ISAM storage engine has
          been removed. If you have ISAM tables, you
          should convert them before upgrading. See
          Sección 2.10.1, “Aumentar la versión de 4.1 a 5.0”.
        
          Support for RAID options in
          MyISAM tables has been removed. If you have
          tables that use these options, you should convert them before
          upgrading. See Sección 2.10.1, “Aumentar la versión de 4.1 a 5.0”.
        
          Added support for AVG(DISTINCT).
        
          ONLY_FULL_GROUP_BY no longer is included in
          the ANSI composite SQL mode. (Bug#8510)
        
mysqld_safe will create the directory where the UNIX socket file is to be located if the directory does not exist. This applies only to the last component of the directory pathname. (Bug#8513)
          The coercibility for the return value of functions such as
          USER() or VERSION() now
          is “system constant” rather than
          “implicit.” This makes these functions more
          coercible than column values so that comparisons of the two do
          not result in Illegal mix of collations
          errors. COERCIBILITY() was modified to
          accommodate this new coercibility value. See
          Sección 12.9.3, “Funciones de información”.
        
User variable coercibility has been changed from “coercible” to “implicit.” That is, user variables have the same coercibility as column values.
Boolean full-text phrase searching now requires only that matches contain exactly the same words as the phrase and in the same order. Non-word characters no longer need match exactly.
          CHECKSUM TABLE returns a warning for
          non-existing tables. The checksum value remains
          NULL as before. (Bug#8256)
        
          The server now includes a timestamp in the Ready for
          connections message that is written to the error log
          at startup. (Bug#8444)
        
          Added SQL_NOTES session variable to cause
          Note-level warnings not to be recorded.
          (Bug#6662)
        
          Allowed the service-installation command for Windows servers
          to specify a single option other than
          --defaults-file following the service name.
          This is for compatibility with MySQL 4.1. (Bug#7856)
        
          InnoDB: Upgrading from 4.1:
          The sorting order for end-space in TEXT
          columns for InnoDB tables has changed. Starting from 5.0.3,
          InnoDB compares TEXT columns as
          space-padded at the end. If you have a non-unique index on a
          TEXT column, you should run CHECK
          TABLE on it, and run OPTIMIZE
          TABLE if the check reports errors. If you have a
          UNIQUE INDEX on a TEXT
          column, you should rebuild the table with OPTIMIZE
          TABLE.
        
          InnoDB: Commit after every 10,000 copied
          rows when executing ALTER TABLE,
          CREATE INDEX, DROP INDEX
          or OPTIMIZE TABLE. This makes it much
          faster to recover from an aborted operation.
        
          Added VAR_POP() and
          STDDEV_POP() as standard SQL aliases for
          the VARIANCE() and
          STDDEV() functions that compute population
          variance and standard deviation. Added new
          VAR_SAMP() and
          STDDEV_SAMP() functions to compute sample
          variance and standard deviation. (Bug#3190)
        
          Fixed a problem with out-of-order packets being sent
          (ERROR after OK or
          EOF) following a KILL
          QUERY statement. (Bug#6804)
        
          Retrieving from a view defined as a SELECT
          that mixed UNION ALL and UNION
          DISTINCT resulted in a different result than
          retrieving from the original SELECT. (Bug#6565)
        
          Fixed a problem with non-optimal
          index_merge query execution plans being
          chosen on IRIX. (Bug#8578)
        
          BIT in column definitions now is a distinct
          data type; it no longer is treated as a synonym for
          TINYINT(1).
        
          Bit-field values can be written using
          b'
          notation. value'value is a binary value
          written using 0s and 1s.
        
From the Windows distribution, predefined accounts without passwords for remote users ("root@%", "@%") were removed (other distributions never had them).
          Added mysql_library_init() and
          mysql_library_end() as synonyms for the
          mysql_server_init() and
          mysql_server_end() C API functions.
          mysql_library_init() and
          mysql_library_end() are
          #define symbols, but the names more clearly
          indicate that they should be called when beginning and ending
          use of a MySQL C API library no matter whether the application
          uses libmysqlclient or
          libmysqld. (Bug#6149)
        
          SHOW COLUMNS now displays
          NO rather than blank in the
          Null output column if the corresponding
          table column cannot be NULL.
        
          Changed XML format for mysql from
          <
          to col_name>col_value</col_name><field
          name="
          to allow for proper encoding of column names that are not
          legal as element names. (Bug#7811)
        col_name">col_value</field>
          Added --innodb-checksums and
          --innodb-doublewrite options for
          mysqld.
        
          Added --large-pages option for
          mysqld.
        
          Added multi_read_range system variable.
        
          SHOW DATABASES, SHOW
          TABLES, SHOW COLUMNS, and so
          forth display information about the
          INFORMATION_SCHEMA database. Also, several
          SHOW statements now accept a
          WHERE clause specifying which output rows
          to display. See Capítulo 22, La base de datos de información INFORMATION_SCHEMA.
        
          Added the CREATE ROUTINE and ALTER
          ROUTINE privileges, and made the
          EXECUTE privilege operational.
        
          InnoDB: Corrected a bug in the crash recovery of
          ROW_FORMAT=COMPACT tables that caused
          corruption. (Bug#7973) There may still be bugs in the crash
          recovery, especially in COMPACT tables.
        
          When the MyISAM storage engine detects
          corruption of a MyISAM table, a message
          describing the problem now is written to the error log.
        
          InnoDB: When MySQL/InnoDB is compiled on Mac OS X 10.2 or
          earlier, detect the operating system version at run time and
          use the fcntl() file flush method on Mac OS
          X versions 10.3 and later. In Mac OS X,
          fsync() does not flush the write cache in
          the disk drive, but the special fcntl()
          does; however, the flush request is ignored by some external
          devices. Failure to flush the buffers may cause severe
          database corruption at power outages.
        
          InnoDB: Implemented fast TRUNCATE TABLE.
          The old approach (deleting rows one by one) may be used if the
          table is being referenced by foreign keys. (Bug#7150)
        
          Added cp932 (SJIS for Windows Japanese) and
          eucjpms (UJIS for Windows Japanese)
          character sets.
        
          Added several InnoDB status variables. See
          Sección 5.3.4, “Variables de estado del servidor”.
        
          Added the FEDERATED storage engine. See
          Sección 14.6, “El motor de almacenamiento FEDERATED”.
        
          SHOW CREATE TABLE now uses USING
           rather than
          index_typeTYPE 
          to specify an index type. (Bug#7233)
        index_type
          InnoDB now supports a fast TRUNCATE TABLE.
          One visible change from this is that auto-increment values for
          this table are reset on TRUNCATE.
        
          Added an error member to the
          MYSQL_BIND data structure that is used in
          the C API for prepared statements. This member is used for
          reporting data truncation errors. Truncation reporting is
          enabled via the new
          MYSQL_REPORT_DATA_TRUNCATION option for the
          mysql_options() C API function.
        
          API change: the reconnect flag in the
          MYSQL structure is now set to 0 by
          mysql_real_connect(). Only those client
          programs which didn't explicitly set this flag to 0 or 1 after
          mysql_real_connect() experience a change.
          Having automatic reconnection enabled by default was
          considered too dangerous (after reconnection, table locks,
          temporary tables, user and session variables are lost).
        
          FLUSH TABLES WITH READ LOCK is now killable
          while it's waiting for running COMMIT
          statements to finish.
        
          MEMORY (HEAP) can have
          VARCHAR() fields.
        
          VARCHAR columns now remember end space. A
          VARCHAR() column can now contain up to
          65535 bytes. For more details, see
          Sección C.1, “Cambios en la entrega 5.0.x (Desarrollo)”. If the table handler doesn't
          support the new VARCHAR type, then it's
          converted to a CHAR column. Currently this
          happens for NDB tables.
        
          InnoDB: Introduced a compact record format that does not store
          the number of columns or the lengths of fixed-size columns.
          The old format can be requested by specifying
          ROW_FORMAT=REDUNDANT. The new format
          (ROW_FORMAT=COMPACT) is the default. The
          new format typically saves 20 % of disk space and memory.
        
          InnoDB: Setting the initial AUTO_INCREMENT
          value for an InnoDB table using
          CREATE TABLE ... AUTO_INCREMENT =
           now works, and
          nALTER TABLE ... AUTO_INCREMENT =
           resets the current
          value.
        n
          Seconds_Behind_Master is
          NULL (which means “unknown”)
          if the slave SQL thread is not running, or if the slave I/O
          thread is not running or not connected to master. It is zero
          if the SQL thread has caught up to the I/O thread. It no
          longer grows indefinitely if the master is idle.
        
          The MySQL server aborts immediately instead of simply issuing
          a warning if it is started with the --log-bin
          option but cannot initialize the binary log at startup (that
          is, an error occurs when writing to the binary log file or
          binary log index file).
        
          The binary log file and binary log index file now are handled
          the same way as MyISAM tables when there is
          a “disk full” or “quota exceeded”
          error. See Sección A.4.3, “Cómo se comporta MySQL ante un disco lleno”.
        
          The MySQL server now aborts when started with option
          --log-bin-index and without
          --log-bin, and when started with
          --log-slave-updates and without
          --log-bin.
        
          If the MySQL server is started without an argument to
          --log-bin and without
          --log-bin-index, thus not providing a name
          for the binary log index file, a warning is issued because
          MySQL falls back to using the hostname for that name, and this
          is prone to replication issues if the server's hostname's gets
          changed later. See Sección A.8.4, “Cuestiones abiertas en MySQL”.
        
          Added account-specific MAX_USER_CONNECTIONS
          limit, which allows you to specify the maximum number of
          concurrent connections for the account. Also, all limited
          resources now are counted per account (instead of being
          counted per user + host pair as it was before). Use the
          --old-style-user-limits option to get the old
          behavior.
        
          InnoDB: A shared record lock
          (LOCK_REC_NOT_GAP) is now taken for a
          matching record in the foreign key check because inserts can
          be allowed into gaps.
        
          InnoDB: Relaxed locking in INSERT…SELECT,
          single table UPDATE…SELECT and single
          table DELETE…SELECT clauses when
          innodb_locks_unsafe_for_binlog is used and
          isolation level of the transaction is not serializable.
          InnoDB uses consistent read in these cases
          for a selected table.
        
          Added a new global system variable
          slave_transaction_retries: if the
          replication slave SQL thread fails to execute a transaction
          because of an InnoDB deadlock or exceeded
          InnoDB's innodb_lock_wait_timeout or
          NDBCluster's
          TransactionDeadlockDetectionTimeout or
          TransactionInactiveTimeout, it
          automatically retries
          slave_transaction_retries times before
          stopping with an error. The default is 10. (Bug#8325)
        
          When a client releases a user-level lock, DO
          RELEASE_LOCK() will not be written to the binary log
          anymore (this makes the binary log smaller); as a counterpart,
          the slave does not actually take the lock when it executes
          GET_LOCK(). This is mainly an optimization
          and should not affect existing setups. (Bug#7998)
        
The way the character set information is stored into the binary log was changed, so that it's now possible to have a replication master and slave running with different global character sets. A drawback is that replication from 5.0.3 masters to pre-5.0.3 slaves is impossible.
          The LOAD DATA statement was extended to
          support user variables in the target column list, and an
          optional SET clause. Now one can perform
          some transformations on data after they have been read and
          before they are inserted into the table. For example:
LOAD DATA INFILE 'file.txt' INTO TABLE t1 (column1, @var1) SET column2 = @var1/100;
          Also, replication of LOAD DATA was changed,
          so you can't replicate such statements from a 5.0.3 master to
          pre-5.0.3 slaves.
        
Bugs fixed:
          If a MyISAM table on Windows had
          INDEX DIRECTORY or DATA
          DIRECTORY table options,
          mysqldump dumped the directory pathnames
          with single-backslash pathname separators. This would cause
          syntax errors when importing the dump file.
          mysqldump now changes
          '\' to '/' in the
          pathnames on Windows. (Bug#6660)
        
          mysql_fix_privilege_tables now fixes that
          the mysql privilege tables can be used in
          MySQL 4.1. This allows one to easily downgrade to 4.1 or run
          MySQL 5.0 and 4.1 with the same privilege files for testing
          purposes.
        
Fixed bug creating user with GRANT fails with password but works without, (Bug#7905)
          mysqldump misinterpreted
          '_' and '%' characters
          in the names of tables to be dumped as wildcard characters.
          (Bug#9123)
        
          The definition of the enumeration-valued
          sql_mode column of the
          mysql.proc table was missing some of the
          current allowable SQL modes, so stored routines would not
          necessarily execute with the SQL mode in effect at the time of
          routine definition. (Bug#8902)
        
          REPAIR TABLE did not invalidate query
          results in the query cache that were generated from the table.
          (Bug#8480)
        
          In strict or traditional SQL mode, too-long string values
          assigned to string columns (CHAR,
          VARCHAR, BINARY,
          VARBINARY, TEXT, or
          BLOB) were correctly truncated, but the
          server returned an SQLSTATE value of 01000
          (should be 22001). (Bug#6999, Bug#9029)
        
Stored functions that used cursors could return incorrect results. (Bug#8386)
          AES_DECRYPT(
          could fail to return col_name,key)NULL for invalid
          values in col_name, if
          col_name was declared as
          NOT NULL. (Bug#8669)
        
Ordering by unsigned expression (more complex than a column reference) was treating the value as signed, producing incorrectly sorted results. (Bug#7425)
          HAVING was treating unsigned columns as
          signed. (Bug#7425)
        
          Fixed a problem with boolean full-text searches on
          utf8 columns where a double quote in the
          search string caused a server crash. (Bug#8351)
        
          For a query with both GROUP BY and
          COUNT(DISTINCT) clauses and a
          FROM clause with a subquery,
          NULL was returned for any
          VARCHAR column selected by the subquery.
          (Bug#8218)
        
          Fixed a bug in TRUNCATE, which did not work
          within stored procedures. A workaround has been made so that
          within stored procedures, TRUNCATE is
          executed like DELETE. This was necessary
          because TRUNCATE is implicitly locking
          tables. (Bug#8850)
        
          Fixed an optimizer bug that caused incorrectly ordered result
          from a query that used a FULLTEXT index to
          retrieve rows and there was another index that was usable for
          ORDER BY. For such a query,
          EXPLAIN showed fulltext
          join type, but regular (not FULLTEXT) index
          in the Key column. (Bug#6635)
        
          If SELECT DISTINCT named an index column
          multiple times in the select list, the server tried to access
          different key fields for each instance of the column, which
          could result in a crash. (Bug#8532)
        
For a stored function that refers to a given table, invoking the function while selecting from the same table resulted in a server crash. (Bug#8405)
          Comparison of a DECIMAL column containing
          NULL to a subquery that produced
          DECIMAL values resulted in a server crash.
          (Bug#8397)
        
          The --set-character-set option for
          myisamchk was changed to
          --set-collation. The value needed for
          specifying how to sort indexes is a collation name, not a
          character set name. (Bug#8349)
        
Hostname matching didn't work if a netmask was specified for table-specific privileges. (Bug#3309)
          Corruption of MyISAM table indexes could
          occur with TRUNCATE TABLE if the table had
          already been opened. For example, this was possible if the
          table had been opened implicitly by selecting from a
          MERGE table that mapped to the
          MyISAM table. The server now issues an
          error message for TRUNCATE TABLE under
          these conditions. (Bug#8306)
        
          Setting the connection collation to a value different from the
          server collation followed by a CREATE TABLE
          statement that included a quoted default value resulted in a
          server crash. (Bug#8235)
        
          Fixed handling of table-name matching in
          mysqlhotcopy to accommodate
          DBD::mysql 2.9003 and up (which implement
          identifier quoting). (Bug#8136)
        
Selecting from a view defined as a join caused a server crash if the query cache was enabled. (Bug#8054)
          Results in the query cache generated from a view were not
          properly invalidated after ALTER VIEW or
          DROP VIEW on that view. (Bug#8050)
        
          FOUND_ROWS() returned an incorrect value
          after a SELECT SQL_CALC_FOUND_ROWS DISTINCT
          statement that selected constants and included GROUP
          BY and LIMIT clauses. (Bug#7945)
        
          Selecting from an INFORMATION_SCHEMA table
          combined with a subselect on an
          INFORMATION_SCHEMA table caused an error
          with the message Table
          .
          (Bug#8164)
        tbl_name is corrupted
Fixed a problem with equality propagation optimization for prepared statements and stored procedures that caused a server crash upon re-execution of the prepared statement or stored procedure. (Bug#8115, Bug#8849)
          LEFT OUTER JOIN between an empty base table
          and a view on an empty base table caused a server crash. (Bug#7433)
        
          Use of GROUP_CONCAT() in the select list
          when selecting from a view caused a server crash. (Bug#7116)
        
          Use of a view in a correlated subquery that contains
          HAVING but no GROUP BY
          caused a server crash. (Bug#6894)
        
          Handling by mysql_list_fields() of
          references to stored functions within views was incorrect and
          could result in a server crash. (Bug#6814)
        
          mysqldump now avoids writing SET
          NAMES to the dump output if the server is older than
          version 4.1 and would not understand that statement. (Bug#7997)
        
          Fixed problems when selecting from a view that had an
          EXISTS or NOT EXISTS
          subquery. Selecting columns by name caused a server crash.
          With SELECT *, a crash did not occur, but
          columns in outer query were not resolved properly. (Bug#6394)
        
DDL statements for views were not being written to the binary log (and thus not subject to replication). (Bug#4838)
          The CHAR() function was not ignoring
          NULL arguments, contrary to the
          documentation. (Bug#6317)
        
          Creating a table using a name containing a character that is
          illegal in character_set_client resulted in
          the character being stripped from the name and no error. The
          character now is considered an error. (Bug#8041)
        
          Fixed a problem with the Cyrillic letters I and SHORT I being
          treated the same by the utf8_general_ci
          collation. (Bug#8385)
        
          Some INFORMATION_SCHEMA columns that
          contained catalog identifiers were of type
          LONGTEXT. These were changed to
          VARCHAR(, where
          NN is the appropriate maximum
          identifier length. (Bug#7215)
        
          Some INFORMATION_SCHEMA columns that
          contained timestamp values were of type
          VARBINARY. These were changed to
          TIMESTAMP. (Bug#7217)
        
          An expression that tested a case-insensitive character column
          against string constants that differed in lettercase could
          fail because the constants were treated as having a binary
          collation. (For example, WHERE city='London' AND
          city='london' could fail.) (Bug#7098, Bug#8690)
        
          The output of the STATUS
          (\s) command in mysql
          had the values for the server and client character sets
          reversed. (Bug#7571)
        
          If the slave was running with
          --replicate-*-table options which excluded
          one temporary table and included another, and the two tables
          were used in a single DROP TEMPORARY TABLE IF
          EXISTS statement, as the ones the master
          automatically writes to its binary log upon client's
          disconnection when client has not explicitly dropped these,
          the slave could forget to delete the included replicated
          temporary table. Only the slave needs to be upgraded. (Bug#8055)
        
          When setting integer system variables to a negative value with
          SET VARIABLES, the value was treated as a
          positive value modulo 2^32. (Bug#6958)
        
          Corrected a problem with references to DUAL
          where statements such as SELECT 1 AS a FROM
          DUAL would succeed but statements such as
          SELECT 1 AS a FROM DUAL LIMIT 1 would fail.
          (Bug#8023)
        
          Fixed a server crash caused by DELETE FROM
          
          when the tbl_name ... WHERE ... ORDER BY
          tbl_name.col_nameORDER BY column was qualified with
          the table name. (Bug#8392)
        
          Fixed a bug in MATCH ... AGAINST in natural
          language mode that could cause a server crash if the
          FULLTEXT index was not used in a join
          (EXPLAIN did not show
          fulltext join mode) and the search query
          matched no rows in the table (Bug#8522).
        
          InnoDB: Honor the --tmpdir
          startup option when creating temporary files. Previously,
          InnoDB temporary files were always created
          in the temporary directory of the operating system. On
          Netware, InnoDB will continue to ignore
          --tmpdir. (Bug#5822)
        
          Platform and architecture information in version information
          produced for --version option on Windows was
          always Win95/Win98 (i32). More accurately
          determine platform as Win32 or
          Win64 for 32-bit or 64-bit Windows, and
          architecture as ia32 for x86,
          ia64 for Itanium, and
          axp for Alpha. (Bug#4445)
        
If multiple semicolon-separated statements were received in a single packet, they were written to the binary log as a single event rather than as separate per-statement events. For a server serving as a replication master, this caused replication to fail when the event was sent to slave servers. (Bug#8436)
          Fixed LOAD INDEX statement to actually load
          index in memory. (Bug#8452)
        
          Fixed a failure of multiple-table updates to replicate
          properly on slave servers when
          --replicate-*-table options had been
          specified. (Bug#7011)
        
          Fixed failure of CREATE TABLE ... LIKE
          Windows when the source or destination table was located in a
          symlinked database directory. (Bug#6607)
        
          With lower_case_table_names set to 1,
          mysqldump on Windows could write the same
          table name in different lettercase for different SQL
          statements. Fixed so that consistent lettercase is used. (Bug#5185)
        
          mysqld_safe now understands the
          --help option. Previously, it ignored the
          option and attempted to start the server anyway. (Bug#7931)
        
          Fixed problem in NO_BACKSLASH_ESCAPES SQL
          mode for strings that contained both the string quoting
          character and backslash. (Bug#6368)
        
Fixed some portability issues with overflow in floating point values.
Prepared statements now gives warnings on prepare.
          Fixed bug in prepared statements with
          SUM(DISTINCT...).
        
          Fixed bug in prepared statements with OUTER
          JOIN.
        
          Fixed a bug in CONV() function returning
          unsigned BIGINT number (third argument is
          positive, and return value does not fit in 32 bits). (Bug#7751)
        
          Fixed a failure of the IN() operator to
          return correct result if all values in the list were constants
          and some of them were using substring functions, for example,
          LEFT(), RIGHT(), or
          MID(). (Bug#7716)
        
          Fixed a crash in CONVERT_TZ() function when
          its second or third argument was from a
          const table (see
          Sección 7.2.1, “Sintaxis de EXPLAIN (Obtener información acerca de
        un SELECT)”). (Bug#7705)
        
Fixed a problem with calculation of number of columns in row comparison against subquery. (Bug#8020)
          Fixed erroneous output resulting from SELECT
          DISTINCT combined with a subquery and GROUP
          BY. (Bug#7946)
        
          Fixed server crash in comparing a nested row expression (for
          example row(1,(2,3))) with a subquery. (Bug#8022)
        
Fixed server crash resulting from certain correlated subqueries with forward references (references to an alias defined later in the outer query). (Bug#8025)
Fixed server crash resulting from re-execution of prepared statements containing subqueries. (Bug#8125)
          Fixed a bug where ALTER TABLE improperly
          would accept an index on a TIMESTAMP column
          that CREATE TABLE would reject. (Bug#7884)
        
          SHOW CREATE TABLE now reports
          ENGINE=MEMORY rather than
          ENGINE=HEAP for a MEMORY
          table (unless the MYSQL323 SQL mode is
          enabled). (Bug#6659)
        
          Fixed a bug where the use of GROUP_CONCAT()
          with HAVING caused a server crash. (Bug#7769)
        
Fixed a bug where comparing the result of a subquery to a non-existent column caused a server crash on Windows. (Bug#7885)
          Fixed a bug in a combination of -not and
          trunc* operators of full-text search. Using
          more than one truncated negative search term, was causing
          empty result set.
        
          InnoDB: Corrected the handling of trailing spaces in the
          ucs2 character set. (Bug#7350, Bug#8771)
        
          InnoDB: Use native tmpfile() function on
          Netware. All InnoDB temporary files are created under
          sys:\tmp. Previously, InnoDB temporary
          files were never deleted on Netware.
        
          Fixed a bug in max_heap_table_size
          handling, that resulted in Table is full
          error when the table was still smaller than the limit. (Bug#7791).
        
Fixed a symlink vulnerability in the mysqlaccess script. Reported by Javier Fernandez-Sanguino Pena and Debian Security Audit Team. (CVE-2005-0004)
Fixed a bug that caused server crash if some error occured during filling of temporary table created for derived table or view handling. (Bug#7413)
          Fixed a bug which caused server crash if query containing
          CONVERT_TZ() function with constant
          arguments was prepared. (Bug#6849)
        
          Prevent adding CREATE TABLE .. SELECT query
          to the binary log when the insertion of new records partially
          failed. (Bug#6682)
        
Fixed a bug which caused a crash when only the slave I/O thread was stopped and started. (Bug#6148)
          Giving mysqld a SIGHUP
          caused it to crash.
        
          Changed semantics of CREATE/ALTER/DROP
          DATABASE statements so that replication of
          CREATE DATABASE is possible when using
          --binlog-do-db and
          --binlog-ignore-db. (Bug#6391)
        
          A sequence of BEGIN (or SET
          AUTOCOMMIT=0), FLUSH TABLES WITH READ
          LOCK, transactional update,
          COMMIT, FLUSH TABLES WITH READ
          LOCK could hang the connection forever and possibly
          the MySQL server itself. This happened for example when
          running the innobackup script several
          times. (Bug#6732)
        
          mysqlbinlog did not print SET
          PSEUDO_THREAD_ID statements in front of
          LOAD DATA INFILE statements inserting into
          temporary tables, thus causing potential problems when rolling
          forward these statements after restoring a backup. (Bug#6671)
        
          InnoDB: Fixed a bug no error message for ALTER with InnoDB and
          AUTO_INCREMENT (Bug#7061). InnoDB now
          supports ALTER TABLE...AUTO_INCREMENT = x
          query to set auto increment value for a table.
        
          Made the MySQL server accept executing SHOW CREATE
          DATABASE even if the connection has an open
          transaction or locked tables; refusing it made
          mysqldump --single-transaction sometimes
          fail to print a complete CREATE DATABASE
          statement for some dumped databases. (Bug#7358)
        
          Fixed that, when encountering a “disk full” or
          “quota exceeded” write error,
          MyISAM sometimes didn't sleep and retry the
          write, thus resulting in a corrupted table. (Bug#7714)
        
          Fixed that --expire-log-days was not honored
          if using only transactions. (Bug#7236)
        
          Fixed that a slave could crash after replicating many
          ANALYZE TABLE, OPTIMIZE
          TABLE, or REPAIR TABLE statements
          from the master. (Bug#6461, Bug#7658)
        
          mysqlbinlog forgot to add backquotes around
          the collation of user variables (causing later parsing
          problems as BINARY is a reserved word).
          (Bug#7793)
        
          Ensured that mysqldump --single-transaction
          sets its transaction isolation level to REPEATABLE
          READ before proceeding (otherwise if the MySQL
          server was configured to run with a default isolation level
          lower than REPEATABLE READ it could give an
          inconsistent dump). (Bug#7850)
        
          Fixed that when using the RPAD() function
          (or any function adding spaces to the right) in a query that
          had to be resolved by using a temporary table, all resulting
          strings had rightmost spaces removed (i.e.
          RPAD() did not work) (Bug#4048)
        
          Fixed that a 5.0.3 slave can connect to a master < 3.23.50
          without hanging (the reason for the hang is a bug in these
          quite old masters -- SELECT @@unknown_var
          hangs them -- which was fixed in MySQL 3.23.50). (Bug#7965)
        
          InnoDB: Fixed a deadlock without any locking, simple select
          and update (Bug#7975). InnoDB now takes an
          exclusive lock when INSERT ON DUPLICATE KEY
          UPDATE is checking duplicate keys.
        
Fixed a bug where MySQL was allowing concurrent updates (inserts, deletes) to a table if binary logging is enabled. Changed to ensure that all updates are executed in a serialized fashion, because they are executed serialized when binlog is replayed. (Bug#7879)
          Fixed a rare race condition which could lead to FLUSH
          TABLES WITH READ LOCK hanging. (Bug#8682)
        
Fixed a bug that caused the slave to stop on statements that produced an error on the master. (Bug#8412)
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

