:: DEVELOPER ZONE

Login / Register

- MySQL.com
- Developer Zone
- Partners
- Online Shop

- Downloads
- Documentation
- Forums
- Lists
- Bugs
- Events
- User Groups
- Guilds
- Blogs
- Developer Support
- Tech Resources
- Books
- FAQ

# MySQL 5.0 - Technical FAQ

- Overview
- Articles
- News
- Quick Polls
- Feature Comparison
- Interviews

## MySQL 5.0 - Technical FAQ

#### Last updated August 2, 2005

## General

- When will MySQL 5.0 become Production/GA?
- Can MySQL 5.0 do subqueries?
- Can MySQL 5.0 do multi-table inserts and updates?
- Does MySQL 5.0 have a Query Cache? Does it work on Server, Instance or Database?
- Does MySQL 5.0 have Sequences?
- Does MySQL 5.0 have a NOW() with fractions of seconds?
- Does MySQL 5.0 work with Dual Core Opterons?
- Is there a "MyISAM Hot-Backup" like the "InnoDB Hot-Backup".?
- Is there any improvement in error reporting when Foreign Key fails (i.e. currently does not report which column and reference failed)?
- Can MySQL 5.0 do ACID Transactions?

## Storage Engines

- What are the new Storage Engines in MySQL 5.0?
- What are the unique benefits of the ARCHIVE Storage Engine?
- Do the new features in MySQL 5.0 apply to all the Storage Engines?

## Server SQL Mode

- What is "Server SQL Mode"?
- How many modes are there in "Server SQL Mode"?
- How do you configure "Server SQL Mode"?
- Is the mode dependent on the Database or the Connection?
- Can "Strict Mode" rules be extended?
- Does "Strict Mode" impact performance?
- What is the default mode when MySQL 5.0 is installed?

## Stored Procedures

- Where can I find documentation for MySQL Stored Procedures?
- Where is the discussion forum for MySQL Stored Procedures?
- Where can I find the ANSI SQL 2003 specification for Stored Procedures?
- How do you manage Stored Procedures?
- Is there a way to view all Stored Procedures in a database?
- Where are Stored Procedures stored?
- Is it possible to group SPs into a package (e.g. like Oracle)?
- Can a SP call another SP?
- Can a SP call a Trigger?
- Can SPs access a single Table? Multiple Tables?
- Do SPs have a "raise" statement to "raise application errors"?
- Do SPs have Exception Handling?
- Can SPs return result sets (as do MS SQL and Sybase)?
- Can I do a "WITH RECOMPILE" for SPs?
- Oracle uses mod_plsql as a gateway on Apache to talk directly to a SP in the database. What is the MySQL equivalent?
- Can I pass an array as input to a SP?
- Can I pass a cursor as an IN parameter to a SP?
- Can I return a cursor as an OUT parameter from a SP?
- Can I print out a variable value in a SP for debugging?
- Can I do a Transaction inside a SP (i.e. committing or rolling back a set of SQL statements in a batch)?

## Triggers

- Where can I find documentation for MySQL Triggers?
- Where is the discussion forum for MySQL Triggers?
- Do you have Statement-level Triggers or Row-level Triggers?
- Are there any default Triggers?
- How do you manage Triggers?
- Is there a way to view all Triggers in a Database?
- Where are Triggers stored?
- Can a Trigger call a Stored Procedure?
- Can Triggers access a single Table? Multiple Tables?
- Can Triggers call an external application (through a UDF)?
- Is there an example of a Trigger updating Tables on remote servers?

## Views

- Where can I find documentation for MySQL Views?
- Where is the discussion forum for MySQL Views?
- What happens if an underlying Table is dropped, renamed, etc.?
- Does MySQL 5.0 have Table Snapshots?
- Does MySQL 5.0 have Materialized Views?
- Can you insert into Views based on Joins?
- Can updating a View affect multiple tables or single table?

## INFORMATION_SCHEMA

- Where can I find documentation for MySQL INFORMATION_SCHEMA?
- Where is the discussion forum for MySQL INFORMATION_SCHEMA?
- Where can I find the ANSI SQL 2003 specification for INFORMATION_SCHEMA?
- What is the difference between the Oracle Data Dictionary and MySQL INFORMATION_SCHEMA?
- Can I organize groups of Tables in MySQL (e.g. PostgreSQL does this with SCHEMA)?
- Can I add or modify the Tables in the INFORMATION_SCHEMA?

## Connectors

- Does MySQL Connector/J work with the new features in MySQL 5.0?
- Does MySQL Connector/NET work with the new features in MySQL 5.0?
- Does MySQL Connector/ODBC work with the new features in MySQL 5.0?
- Does DBD::MySQL (the Perl MySQL driver) work with the new features in MySQL 5.0?
- Do the mysql and mysqli extensions (the PHP MySQL APIs) work with the new features in MySQL 5.0?

## Tools

- Can Instance Manager enable management of remote MySQL servers?
- Can you run Instance Manager on a Windows machine to manage MySQL on remote Linux machines?
- Are GUI (Graphical User Interface) Tools available on Linux?
- Can MySQL Administrator work with the new features in MySQL 5.0?
- Can MySQL Query Browser work with the new features in MySQL 5.0?
- Can you use MySQL GUI Tools to build Stored Procedures and Views?
- When will Backup/Restore and mysqldump work with SPs?
- When will mysqldump actually dump the definitions of SPs, Triggers, and Functions?

## Cluster

- Does MySQL 5.0 work with MySQL Cluster?
- Does MySQL 5.0 provide any new features/capabilities for MySQL Cluster?
- Does MySQL 5.0 include a disk-based MySQL Cluster?

## Migration

- How do you migrate from MySQL 4.x to 5.0?
- Have the Table Types changed from MySQL 4.x to 5.0?

## Security

- Does MySQL 5.0 have native support for SSL?
- Will the SSL Support be built into the MySQL Binaries or will it require a recompile?
- Does MySQL 5.0 have built-in Authentication against LDAP directories?
- Does MySQL 5.0 have built-in Roles Based Access Control (RBAC)?

## General

GEN 1. When will MySQL 5.0 become Production/GA?
  Quality has an overriding priority in our release schedule. MySQL 5.0 is currently in its beta phase, with the gamma (release candidate) following. Your assistance with the MySQL 5.0 QA (Quality Assurance) process is most appreciated, see http://dev.mysql.com/tech-resources/articles/evaluating-mysql-5.0.html for details. Thank you for helping us make this new release top-quality!
GEN 2. Can MySQL 5.0 do subqueries?
  Yes. MySQL supports subqueries since version 4.1 See http://dev.mysql.com/doc/mysql/en/subqueries.html
GEN 3. Can MySQL 5.0 do multi-table inserts and updates?
  Yes. Multi-table UPDATE and DELETE were actually implemented in MySQL 4.0, with enhancements added in MySQL 4.1. See http://dev.mysql.com/doc/mysql/en/UPDATE.html and http://dev.mysql.com/doc/mysql/en/DELETE.html
GEN 4. Does MySQL 5.0 have a Query Cache? Does it work on Server, Instance or Database?
  Yes. The Query Cache was introduced in MySQL 4.0, and operates on the server level. It caches complete result sets, matched with the original query string. If an exactly identical query is made (which often happens, particularly in web applications), no parsing or execution is necessary, the result is sent directly from the cache. Various tuning options are available. See http://dev.mysql.com/doc/mysql/en/query-cache.html
GEN 5. Does MySQL 5.0 have Sequences?
  No. However, MySQL has an AUTO_INCREMENT system, which in MySQL 5.0 can also handle inserts in a multi-master replication setup. With the --auto-increment-increment and -auto-increment-offset startup options, you can set each server to generate auto-increment values that don't conflict with other servers. The auto-increment-increment should be >= the number of servers, and each server should have a unique offset.
GEN 6. Does MySQL 5.0 have a NOW() with fractions of seconds?
  No. This is on the MySQL roadmap as a "rolling feature". This means that it is not a flagship feature, but will be implemented, development time permitting. Specific customer demand may change this scheduling.
  MySQL will however parse time strings with a fractional component. See http://dev.mysql.com/doc/mysql/en/time.html
GEN 7. Does MySQL 5.0 work with Dual Core Opterons?
  Yes. MySQL is fully multi-threaded, and will make use of multiple CPUs provided the operating system supports it.
GEN 8. Is there a "MyISAM Hot-Backup" like the "InnoDB Hot-Backup"?
  This is currently under development, and scheduled for MySQL 5.1.
GEN 9. Is there any improvement in error reporting when Foreign Key fails (i.e. currently does not report which column and reference failed)?
  The foreign key support in InnoDB has seen improvements in each major version of MySQL. However, global foreign key support (i.e., generically for all storage engines) is scheduled for MySQL 5.2 and should resolve any inadequacies in the current storage engine specific implementation.
GEN 10. Can MySQL 5.0 do ACID Transactions?
  Yes. MySQL has supported transactions for years now, since 3.23-Max and all versions 4.0 and above. The InnoDB storage engine offers full ACID transactions with row-level locking, multi-versioning, non-locking repeatable reads, and all four SQL standard isolation levels.

## Storage Engines

ST 1. What are the new Storage Engines in MySQL 5.0?
  The `FEDERATED` storage engine, new in MySQL 5.0, allows the server to access tables in other (remote) servers. See http://dev.mysql.com/doc/mysql/en/federated-storage-engine.html
  MySQL 4.1 already added other new storage engines, such as ARCHIVE, CSV and NDB (Cluster).
ST 2. What are the unique benefits of the ARCHIVE Storage Engine?
  The `ARCHIVE` Storage Engine, added in MySQL 4.1, is ideally suited for storing large amounts of data (without indexes) in a very small footprint, and selects using table scans. See http://dev.mysql.com/doc/mysql/en/archive-storage-engine.html for details.
ST 3. Do the new features in MySQL 5.0 apply to all the Storage Engines?
  The general new features such as views, stored procedures, triggers, `INFORMATION_SCHEMA`, precision math (`DECIMAL` column type), and the `BIT` column type, apply to all storage engines. There are also additions and changes for specific storage engines.

## Server SQL Mode

MODE 1. What is "Server SQL Mode"?
  The MySQL server can operate in different SQL modes, and (as of MySQL 4.1) can apply these modes separately for different clients. Modes define what SQL syntax MySQL should support and what kind of data validation checks it should perform. This makes it easier to use MySQL in different environments and to use MySQL together with other database servers. For more information, see http://dev.mysql.com/doc/mysql/en/server-sql-mode.html
MODE 2. How many modes are there in "Server SQL Mode"?
  Quite a few, as each mode can be individually switched on and off. See http://dev.mysql.com/doc/mysql/en/server-sql-mode.html for a full current list.
MODE 3. How do you configure "Server SQL Mode"?
  You can set the default SQL mode (for mysqld startup) in the MySQL configuration with the --sql-mode option. With `SET [SESSION|GLOBAL] sql_mode='modes'` you can change the settings from within a connection; either local to the connection, or to take effect globally. You can retrieve the current mode by issuing a `SELECT @@sql_mode` statement.
MODE 4. Is the mode dependent on the Database or the Connection?
  A mode is not 'linked' to a particular database. Modes can be set locally to the session (connection), or globally for the server With `SET [SESSION|GLOBAL] sql_mode='modes'` you can change the settings.
MODE 5. Can "Strict Mode" rules be extended?
  When we refer to ``strict mode,'' we mean a mode where at least one of TRADITIONAL, STRICT_TRANS_TABLES, or STRICT_ALL_TABLES is enabled. See also http://dev.mysql.com/doc/mysql/en/server-sql-mode.html Options can be combined, so you can indeed add additional restrictions to a mode.
MODE 6. Does "Strict Mode" impact performance?
  Of course, a setting such as the requirement for detailed validation of input data requires some additional time. While the performance impact is not that great, if you do not require such validation (perhaps your application already handles all of this), MySQL gives you the option of leaving Strict Mode disabled. But if you do require it, Strict Mode delivers the validation you need.
MODE 7. What is the default mode when MySQL 5.0 is installed?
  By default no special modes are enabled. See http://dev.mysql.com/doc/mysql/en/server-sql-mode.html for information about all available modes and the default behaviour in 5.0.

## Stored Procedures

SP 1. Where can I find documentation for MySQL Stored Procedures?
  In the MySQL Reference Manual: http://dev.mysql.com/doc/mysql/en/stored-procedures.html
SP 2. Where is the discussion forum for MySQL Stored Procedures?
  http://forums.mysql.com/list.php?98
SP 3. Where can I find the ANSI SQL 2003 specification for Stored Procedures?
  Unfortunately, the official specifications are not freely available, ANSI makes them available for purchase. However, there are books available, such as "SQL-99 Complete, Really" by Peter Gulutzan and Trudy Pelzer, which give a comprehensive overview of the standard including stored procedures.
SP 4. How do you manage Stored Procedures?
  It is always good practice to use a clear naming scheme for your stored procedures. You can manage stored procedures with `CREATE [FUNCTION|PROCEDURE]`, `ALTER [FUNCTION|PROCEDURE]`, `DROP [FUNCTION|PROCEDURE]`, and `SHOW CREATE [FUNCTION|PROCEDURE], INFORMATION_SCHEMA` (see http://dev.mysql.com/doc/mysql/en/routines-table.html).
SP 5. Is there a way to view all Stored Procedures in a database?
  Yes, using the `INFORMATION_SCHEMA.ROUTINES` table: `SELECT ROUTINE_TYPE,ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA='dbname';` See also http://dev.mysql.com/doc/mysql/en/routines-table.html
  The body of individual stored procedures can be seen through `SHOW CREATE [FUNCTION|PROCEDURE] procname;` See also http://dev.mysql.com/doc/mysql/en/show-create-procedure.html
SP 6. Where are Stored Procedures stored?
  In the proc table in the mysql system database. However, you should not access the tables in the system database directly. Instead, use `SHOW CREATE [FUNCTION|PROCEDURE]` (see http://dev.mysql.com/doc/mysql/en/show-create-procedure.html) or `INFORMATION_SCHEMA` (see http://dev.mysql.com/doc/mysql/en/routines-table.html)
SP 7. Is it possible to group SPs into a package (e.g. like Oracle)?
  No, not at present.
SP 8. Can a SP call another SP?
  Yes.
SP 9. Can a SP call a Trigger?
  A stored procedure could execute an SQL statement (such as an `UPDATE`) that causes a trigger to fire.
SP 10. Can SPs access a single Table? Multiple Tables?
  Yes and Yes.
SP 11. Do SPs have a "raise" statement to "raise application errors"?
  Sorry, not at present. The SQL standard `SIGNAL` and `RESIGNAL` statements are on the TODO.
SP 12. Do SPs have Exception Handling?
  MySQL implements `HANDLER` definitions according to the SQL standard. See http://dev.mysql.com/doc/mysql/en/declare-handlers.html for details.
SP 13. Can SPs return result sets (as do MS SQL and Sybase)?
  Yes. If you do an ordinary `SELECT` inside a stored procedure or function, the result set is returned directly to the client. You will need to use the MySQL 4.1 client-server protocol for this to work. This means that, for instance in PHP, you need to use the mysqli extension rather than the old mysql extension.
SP 14. Can I do a "WITH RECOMPILE" for SPs?
  Not at present.
SP 15. Oracle uses mod_plsql as a gateway on Apache to talk directly to a SP in the database. What is the MySQL equivalent?
  There is no equivalent at present. Implementation of this should not be too difficult. Perhaps an active community user will step up to the challenge?
SP 16. Can I pass an array as input to a SP?
  No.
SP 17. Can I pass a cursor as an IN parameter to a SP?
  No. Currently, cursors are only available inside stored procedures.
SP 18. Can I return a cursor as an OUT parameter from a SP?
  No. Currently, cursors are only available inside stored procedures. However, you can return a result set from a `SELECT` by not opening a cursor on it (it will be sent directly to the client), or by selecting into variables.
SP 19. Can I print out a variable value in a SP for debugging?
  Yes, if you do an ordinary `SELECT` inside a stored procedure or function, the result set is returned directly to the client. You will need to use the MySQL 4.1 client-server protocol for this to work. This means that, for instance in PHP, you need to use the mysqli extension rather than the old mysql extension.
SP 20. Can I do a Transaction inside a SP (i.e. committing or rolling back a set of SQL statements in a batch)?
  No.

## Triggers

TRG 1. Where can I find documentation for MySQL Triggers?
  In the MySQL Reference Manual: http://dev.mysql.com/doc/mysql/en/show-create-procedure.html
TRG 2. Where is the discussion forum for MySQL Triggers?
  http://forums.mysql.com/list.php?99
TRG 3. Do you have Statement-level Triggers or Row-level Triggers?
  All triggers are `FOR EACH ROW`, that is, the trigger is activated for each row that is inserted/updated/deleted. We currently don't allow `FOR EACH STATEMENT` triggers.
TRG 4. Are there any default Triggers?
  Not explicitly. MySQL does have specific special behavior for some `TIMESTAMP` columns, and columns defined as `AUTO_INCREMENT`.
TRG 5. How do you manage Triggers?
  A trigger can be created with a `CREATE TRIGGER` statement. See http://dev.mysql.com/doc/mysql/en/triggers.html for details. Management features through, for instance, `INFORMATION_SCHEMA` are currently being implemented.
TRG 6. Is there a way to view all Triggers in a Database?
  Yes, using the `INFORMATION_SCHEMA.TRIGGERS` table: `SELECT TRIGGER_NAME,EVENT_MANIPULATION,EVENT_OBJECT_TABLE,ACTION_STATEMENT FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_SCHEMA='dbname';` See also http://dev.mysql.com/doc/mysql/en/triggers-table.html
  You can also use the MySQL specific `SHOW TRIGGERS` statement. See also http://dev.mysql.com/doc/mysql/en/show-create-triggers.html
TRG 7. Where are Triggers stored?
  Currently, Triggers are stored individually for each table in a .TRG file, next to the normal .FRM file with the `CREATE TABLE` information. In the near future, the trigger information will be included in the .FRM structure. In a nutshell, triggers belong with a table.
  Work is currently being done to make triggers 'database level' objects (as opposed to 'table level' as they are now and mentioned above) as prescribed by the SQL standard.
TRG 8. Can a Trigger call a Stored Procedure?
  Yes.
TRG 9. Can Triggers access a single Table? Multiple Tables?
  A trigger can access information in its own table, both the old and the new data. Through a stored procedure, or a multi-table update or delete statement, a trigger can also affect multiple other tables.
TRG 10. Can Triggers call an external application (through a UDF)?
  No, not at present.
TRG 11. Is there an example of a Trigger updating Tables on remote servers?
  Yes, a table on a remote server could be updated through the `FEDERATED` storage engine (see http://dev.mysql.com/doc/mysql/en/federated-storage-engine.html).

## Views

VW 1. Where can I find documentation for MySQL Views?
  In the MySQL Reference Manual: http://dev.mysql.com/doc/mysql/en/views.html
VW 2. Where is the discussion forum for MySQL Views?
  http://forums.mysql.com/list.php?100
VW 3. What happens if an underlying Table is dropped, renamed, etc.
  After a view has been created, it is possible to drop or alter a table or view to which the definition refers. To check a view definition for problems of this kind, use the `CHECK TABLE` statement.
VW 4. Does MySQL 5.0 have Table Snapshots?
  No.
VW 5. Does MySQL 5.0 have Materialized Views?
  No.
VW 6. Can you insert into Views based on Joins?
  It is possible, provided that your `INSERT` statement has a column list that makes it clear there's only one table involved. You cannot insert into multiple tables with a single statement.
VW 7. Can updating a View affect multiple tables or single table?
  Only a single table.

## INFORMATION_SCHEMA

IS 1. Where can I find documentation for MySQL INFORMATION_SCHEMA?
  In the MySQL Reference Manual: http://dev.mysql.com/doc/mysql/en/information-schema-tables.html
IS 2. Where is the discussion forum for MySQL INFORMATION_SCHEMA?
  http://forums.mysql.com/list.php?101
IS 3. Where can I find the ANSI SQL 2003 specification for INFORMATION_SCHEMA?
  Unfortunately, the official specifications are not freely available, ANSI makes them available for purchase. However, there are books available, such as "SQL-99 Complete, Really" by Peter Gulutzan and Trudy Pelzer, which give a comprehensive overview of the standard including `INFORMATION_SCHEMA`.
IS 4. What is the difference between the Oracle Data Dictionary and MySQL INFORMATION_SCHEMA?
  At the overview level: no difference, both Oracle and MySQL provide metadata information in tables. At the detail level: many differences, because Oracle and MySQL use different table names and column names for that metadata information. There is more similarity with DB2 and SQL Server, which also has an `INFORMATION_SCHEMA` as in the SQL standard.
IS 5. Can I organize groups of Tables in MySQL (e.g. PostgreSQL does this with SCHEMA)?
  Groups of tables are organized in a database. In most cases with MySQL, you can regard a database as equivalent to a schema.
IS 6. Can I add or modify the Tables in the INFORMATION_SCHEMA?
  No. Applications may rely on a certain standard structure, this should not be modified.

## Connectors

CON 1. Does MySQL Connector/J work with the new features in MySQL 5.0?
  Partially. Although version 3.51 does not support stored procedure calls using escape syntax (i.e., "{ call (...)}", or the server-side stored procedures, version 3.53, currently in development, will.
  The JDBC forum is at http://forums.mysql.com/list.php?39.
CON 2. Does MySQL Connector/NET work with the new features in MySQL 5.0?
  Yes.
  The .Net forum is at http://forums.mysql.com/list.php?38.
CON 3. Does MySQL Connector/ODBC work with the new features in MySQL 5.0?
  Yes.
  The ODBC forum is at http://forums.mysql.com/list.php?37.
CON 4. Does DBD::MySQL (the Perl MySQL driver) work with the new features in MySQL 5.0?
  Yes.
  The Perl forum is at http://forums.mysql.com/list.php?51.
CON 5. Do the mysql and mysqli extensions (the PHP MySQL APIs) work with the new features in MySQL 5.0?
  The old `mysql` extension can work with MySQL 5.0, but does not support the new authentication protocol (MySQL 4.1), prepared statements (MySQL 4.1), cursors, or multiple result sets. Only the new `mysqli` extension (PHP 5.0 and up) covers and supports all features of MySQL 4.1 and 5.0.
  The PHP forum is at http://forums.mysql.com/list.php?52.

## Tools

TOOL 1. Can Instance Manager enable management of remote MySQL servers?
  Yes. See http://dev.mysql.com/doc/mysql/en/instance-manager.html for more information about the MySQL Instance Manager.
TOOL 2. Can you run Instance Manager on a Windows machine to manage MySQL on remote Linux machines?
  MySQL Instance Manager is currently only available for Unix-like operating systems. This precludes Windows. A Windows version is under active development though, and should be available shortly.
TOOL 3. Are GUI (Graphical User Interface) Tools available on Linux?
  The following MySQL GUI Tools are available for download: MySQL Administrator (for DBA tasks), MySQL Query Browser (for developers). See http://www.mysql.com/products/administrator/ and http://www.mysql.com/products/query-browser/ for details on each of these tools. More MySQL GUI Tools are under development, as well as continued enhancements to the existing tools.
  The MySQL Administrator forum is at http://forums.mysql.com/list.php?34.
  The MySQL Query browser forum is at http://forums.mysql.com/list.php?108.
TOOL 4. Can MySQL Administrator work with the new features in MySQL 5.0?
  Yes.
TOOL 5. Can MySQL Query Browser work with the new features in MySQL 5.0?
  Yes.
TOOL 6. Can you use MySQL GUI Tools to build Stored Procedures and Views?
  Additional GUI Tool features to ease development and debugging of Stored Procedures, etc are under development. The GUI Tools have a higher release frequency and versions with new features and fixes are released frequently.
TOOL 7. When will Backup/Restore and mysqldump work with SPs?
  This is scheduled for completion before the production/GA version of MySQL 5.0 is released.
TOOL 8. When will mysqldump actually dump the definitions of SPs, Triggers, and Functions?
  This is scheduled for completion before the production/GA version of MySQL 5.0 is released.

## Cluster

CL 1. Does MySQL 5.0 work with MySQL Cluster?
  Yes.
CL 2. Does MySQL 5.0 provide any new features/capabilities for MySQL Cluster?
  MySQL Cluster in 5.0 introduces various speed optimizations, as well as decreased memory usage. See http://dev.mysql.com/doc/mysql/en/mysql-5-0-cluster-changes.html for more details.
CL 3. Does MySQL 5.0 include a disk-based MySQL Cluster?
  Not yet - essential infrastructure for this feature is currently under development, but the full feature is scheduled on the MySQL roadmap as a "rolling feature". This means that it is not a flagship feature, but will be implemented, development time permitting. Specific customer demand may change this scheduling. See also http://dev.mysql.com/doc/mysql/en/mysql-5-1-cluster-roadmap.html

## Migration

MIG 1. How do you migrate from MySQL 4.x to 5.0?
  Detailed upgrade information for each version can be found at http://dev.mysql.com/doc/mysql/en/upgrade.html. We recommend that you do not skip a major version when upgrading, but rather upgrade in steps (for instance, if you are still using MySQL 4.0 but wish to upgrade to 5.0, upgrade your (test) system to 4.1 first, and verify that everything is as it should be. Then proceed with the 4.1 to 5.0 upgrade step). This may seem more complicated, but it will probably save you time and hassle - if you find any problems along the way, their origin will be easier to identify (either by you or MySQL support, if you have a MySQL Network subscription).
MIG 2. Have the Table Types changed from MySQL 4.x to 5.0?
  Support for the old `ISAM` tables (used until MySQL 3.22) was removed in MySQL 5.0. To convert a table from `ISAM` to `MyISAM`, simply issue a statement like `ALTER TABLE tblname ENGINE=MYISAM`.
  The "internal RAID" support in `MyISAM` tables was also removed. This was an old feature used to allow large tables with file systems that did not support large (>2GB) files. All modern file systems allow for larger tables, and there are also other solutions such as `MERGE` tables and `VIEWs`.
  The `VARCHAR` column type now retains any trailing spaces (all storage engines).
  `MEMORY` tables (called `HEAP`, prior to MySQL version 4.1) can now also contain `VARCHAR` columns.

## Security

SEC 1. Does MySQL 5.0 have native support for SSL?
  Yes, most 5.0 binaries have support for SSL secured and/or authenticated connections between the client and server. We can't yet build with the new YaSSL library everywhere, as it's still quite new and does not compile on all platforms yet. See http://dev.mysql.com/doc/mysql/en/secure-connections.html
  You could also tunnel the connection via SSH, for instance if the client application doesn't support SSL connections. For an example of this, see http://dev.mysql.com/doc/mysql/en/windows-and-ssh.html
SEC 2. Will the SSL Support be built into the MySQL Binaries or will it require a recompile?
  All 5.0 binaries have support for SSL secured and/or authenticated connections between the client and server. See http://dev.mysql.com/doc/mysql/en/secure-connections.html
SEC 3. Does MySQL 5.0 have built-in Authentication against LDAP directories?
  No. Support for external authentication methods is on the MySQL roadmap as a "rolling feature". This means that it is not a flagship feature, but will be implemented, development time permitting. Specific customer demand may change this scheduling.
SEC 4. Does MySQL 5.0 have built-in Roles Based Access Control (RBAC)?
  No. Roles are on the MySQL roadmap as a "rolling feature". This means that it is not a flagship feature, but will be implemented, development time permitting. Specific customer demand may change this scheduling.

Back to Top

“Of the five databases we tested, only Oracle9i and MySQL were able to run our Nile application as originally written for 8 hours without problems.” —eWeek, “Server Databases Clash”

Read more about the benchmark....

Learn about new MySQL releases, technical articles, events and more.
Subscribe to the monthly MySQL Newsletter!

© 1995-2005 MySQL AB. All rights reserved.

- About MySQL
- Careers
- Site Map
- Contact Us
- Legal
- Privacy Policy
- Trademark Info