Building the Tools

To build the tools, you will need a working build environment (C compiler, make, and so on). Download the source tarbarll from Launchpad, extract it, and change to the mysql-source directory. Run ./configure, but do not run make.

After the configure step finishes, change to the top-level directory extracted from the tarball, and run make. This will compile the page_parser and the constraints_parser tool. We are not ready to use constraints_parser yet, and we will recompile it later, after creating table definitions. In the meantime it is useful to have the page_parser tool available to use.

Internally, the tool uses some of InnoDB's low-level routines to work with pages and row structures. This is why a minimal version of the MySQL source code is included with the tool's source code. If you have any troubles compiling, it is likely that they are related to building the MySQL source code. If this is blocking your progress, you can obtain a copy of the MySQL source code from the MySQL website, and compile MySQL separately. Then you can copy the innobase/ut/libut.a file to the toolkit's build directory, and try running make again.

On Linux, you may get a compilation error saying there is no isnumber() function in check_data.c. The problem is that isnumber() is a BSD standard, but the C standard defines the isdigit() function instead. Just change the name, and you should be able to compile successfully.

If you'd like to build static versions of binaries, uncomment the CFLAGS=-static line in the Makefile. This can be useful to create portable binaries.

innodb-data-recovery-tool/mysql-data-recovery/building_the_tools.txt · Last modified: 2015/08/05 15:37 (external edit)
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Contact Us 24 Hours A Day
SupportContact us 24×7
Emergency? Contact us for help now!
Sales North America(888) 316-9775 or
(208) 473-2904
+44-208-133-0309 (UK)
0-800-051-8984 (UK)
0-800-181-0665 (GER)
Training(855) 55TRAIN or
(925) 271-5054


Share This
]]> ]]>