Chapter 8 Appendix

Table of Contents

8.1 MySQL Utilities Frequently Asked Questions

This chapter includes additional information about MySQL Utilities including a list of frequently asked questions.

Licensing information.  This product may include third-party software, used under license. If you are using a Commercial release of MySQL Utilities, see this document for licensing information, including licensing information relating to third-party software that may be included in this Commercial release. If you are using a Community release of MySQL Utilities, see this document for licensing information, including licensing information relating to third-party software that may be included in this Community release.

8.1 MySQL Utilities Frequently Asked Questions

FAQ Categories

General

8.1.1. Are these utilities present in the community version of MySQL?

8.1.1.

Are these utilities present in the community version of MySQL?

Yes, see Chapter 1, How to Install MySQL Utilities.

Storage Engines

8.1.1. Can the utilities be used with MyISAM or CSV?

8.1.1.

Can the utilities be used with MyISAM or CSV?

Yes. There are no storage engine specific limitations in using the utilities. There are some features written specifically for InnoDB so those may not apply but in general no utility is storage engine specific. For example, the mysqldiskusage utility shows exact sizes for MyISAM and InnoDB files but uses estimated sizes for any other storage engine based on number of rows and row size.

The mysqlfrm Utility: .frm File Reader

8.1.1. Can the .frm reader read a .frm file without the associated data files?
8.1.2. Will the .frm reader modify my original .frm file?
8.1.3. What is diagnostic mode and why doesn't it produce the same output as the default mode?
8.1.4. If the diagnostic mode is only a best-effort compilation, why use it?
8.1.5. Why does the default mode require a server?
8.1.6. Can the .frm reader read any .frm file?
8.1.7. My .frm files are tucked away in a restricted folder. How do I get access to them to run the .frm reader without copying or modifying file privileges?
8.1.8. Will the default mode display a 100% accurate CREATE statement?

8.1.1.

Can the .frm reader read a .frm file without the associated data files?

Yes! The .frm reader was designed to read the contents of an .frm file without requiring the data files.

8.1.2.

Will the .frm reader modify my original .frm file?

No, it does not modify the original .frm file in either default or diagnostic mode.

8.1.3.

What is diagnostic mode and why doesn't it produce the same output as the default mode?

The diagnostic mode does not use a spawned server to read the .frm file. Instead, it attempts to read the contents of the file byte-by-byte and forms a best-effort approximation of the CREATE statement. Due to the many complexities of the server code, the diagnostic mode does not currently process all features of a table. Future revisions will improve the accuracy of the diagnostic mode.

8.1.4.

If the diagnostic mode is only a best-effort compilation, why use it?

The diagnostic mode is used to attempt to read corrupt or otherwise damaged .frm files. You would also use it if you had no access to a server installation on the local machine.

8.1.5.

Why does the default mode require a server?

The default mode uses a server to create a temporary working copy of the server instance. It does not access the donor server in any way other than to execute the mysqld[.exe] process.

8.1.6.

Can the .frm reader read any .frm file?

Although it can read most .frm files, there are known limits to which storage engines it can process correctly. Currently, tables with storage engines partition and performance_schema cannot be read. However, these .frm files can be read by the diagnostic mode,

8.1.7.

My .frm files are tucked away in a restricted folder. How do I get access to them to run the .frm reader without copying or modifying file privileges?

You can use elevated privileges such as su or sudo to execute the .frm reader. You must use the --user option to specify a user to launch the spawned server, however. This will permit the .frm reader to read the original .frm file and copy it to the spawned server and access the copy without requiring additional privileges.

8.1.8.

Will the default mode display a 100% accurate CREATE statement?

For most tables and all views, yes. However, there are at least two features that are not stored in the .frm file and therefore will not be included. These are autoincrement values and foreign keys. That being said, the CREATE statement produced will be syntactically correct.