mydumper 官网:https://answers.launchpad.net/mydumper/下载之后,安装报错:[root@localhost local]# cd mydumper-0.6.2 [root@localhost mydumper-0.6.2]# [root@localhost mydumper-0.6.2]# ls binlog.c CMakeCache.txt common.h docs g_unix_signal.h myloader.c Processing server_detect.c binlog.h CMakeFiles config.h Finished mydumper.c myloader.h README server_detect.h cmake CMakeLists.txt config.h.in g_unix_signal.c mydumper.h Package Running [root@localhost mydumper-0.6.2]# cmake . -- The CXX compiler identification is GNU 4.4.7 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Using mysql-config: /usr/local/mysql/bin/mysql_config -- Found MySQL: /usr/local/mysql/include, /usr/local/mysql/lib/libmysqlclient.so;/usr/lib/libpthread.so;/usr/lib/libm.so;/usr/lib/librt.so;/usr/lib/libdl.so -- checking for one of the modules "glib-2.0" CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:363 (message): None of the required "glib-2.0" found Call Stack (most recent call first): cmake/modules/FindGLIB2.cmake:10 (pkg_search_module) CMakeLists.txt:10 (find_package) -- checking for one of the modules "gthread-2.0" CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:363 (message): None of the required "gthread-2.0" found Call Stack (most recent call first): cmake/modules/FindGLIB2.cmake:11 (pkg_search_module) CMakeLists.txt:10 (find_package) CMake Warning at docs/CMakeLists.txt:9 (message): Unable to find Sphinx documentation generator -- ------------------------------------------------ -- MYSQL_CONFIG = /usr/local/mysql/bin/mysql_config -- CMAKE_INSTALL_PREFIX = /usr/local -- BUILD_DOCS = ON -- WITH_BINLOG = OFF -- RUN_CPPCHECK = OFF -- Change a values with: cmake -D<Variable>=<Value> -- ------------------------------------------------ -- CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: GLIB2_LIBRARIES (ADVANCED) linked by target "mydumper" in directory /usr/local/mydumper-0.6.2 linked by target "myloader" in directory /usr/local/mydumper-0.6.2 GTHREAD2_LIBRARIES (ADVANCED) linked by target "mydumper" in directory /usr/local/mydumper-0.6.2 linked by target "myloader" in directory /usr/local/mydumper-0.6.2-- Configuring incomplete, errors occurred! See also "/usr/local/mydumper-0.6.2/CMakeFiles/CMakeOutput.log". See also "/usr/local/mydumper-0.6.2/CMakeFiles/CMakeError.log".cmake . 报错: None of the required "glib-2.0" found None of the required "gthread-2.0" found网上搜索,没有找到解决办法,于是只好去官网寻找方法:https://answers.launchpad.net/mydumper/+faq/349Run: cmake . makeOne needs to install development versions of required libaries (MySQL, GLib, ZLib, PCRE): NOTE: you must use the correspondent mysql devel package.* Ubuntu or Debian: apt-get install libglib2.0-dev libmysqlclient15-dev zlib1g-dev libpcre3-dev libssl-dev * Fedora, RedHat and CentOS: yum install glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel * openSUSE: zypper install glib2-devel libmysqlclient-devel pcre-devel zlib-devel * MacOSX: port install glib2 mysql5 pcre pkgconfig cmake (You may want to run "port select mysql mysql5" afterwards)One has to make sure, that pkg-config, mysql_config, pcre-config are all in $PATHBinlog dump is disabled by default to compile with it you need to add -DWITH_BINLOG=ON to cmake optionsObviously you need compiler and make packages too :)可以看到需要安装依赖:Fedora, RedHat and CentOS: yum install glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel于是按照说明进行安装:[root@localhost mydumper-0.6.2]# yum install glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Install Process Loading mirror speeds from cached hostfile * c6-media: Package mysql-devel-5.1.73-3.el6_5.i686 already installed and latest version Package zlib-devel-1.2.3-29.el6.i686 already installed and latest version Package pcre-devel-7.8-6.el6.i686 already installed and latest version Package openssl-devel-1.0.1e-30.el6.i686 already installed and latest version Resolving Dependencies --> Running transaction check ---> Package glib2-devel.i686 0:2.28.8-4.el6 will be installed --> Finished Dependency ResolutionDependencies Resolved========================================================================================================================================== Package Arch Version Repository Size ========================================================================================================================================== Installing: glib2-devel i686 2.28.8-4.el6 c6-media 298 kTransaction Summary ========================================================================================================================================== Install 1 Package(s)Total download size: 298 k Installed size: 1.5 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : glib2-devel-2.28.8-4.el6.i686 1/1 Unable to connect to dbus Verifying : glib2-devel-2.28.8-4.el6.i686 1/1Installed: glib2-devel.i686 0:2.28.8-4.el6Complete!再来编译安装 mydumper:[root@localhost mydumper-0.6.2]# cmake . -- Using mysql-config: /usr/local/mysql/bin/mysql_config -- Found MySQL: /usr/local/mysql/include, /usr/local/mysql/lib/libmysqlclient.so;/usr/lib/libpthread.so;/usr/lib/libm.so;/usr/lib/librt.so;/usr/lib/libdl.so -- checking for one of the modules "glib-2.0" -- checking for one of the modules "gthread-2.0"CMake Warning at docs/CMakeLists.txt:9 (message): Unable to find Sphinx documentation generator -- ------------------------------------------------ -- MYSQL_CONFIG = /usr/local/mysql/bin/mysql_config -- CMAKE_INSTALL_PREFIX = /usr/local -- BUILD_DOCS = ON -- WITH_BINLOG = OFF -- RUN_CPPCHECK = OFF -- Change a values with: cmake -D<Variable>=<Value> -- ------------------------------------------------ -- -- Configuring done -- Generating done -- Build files have been written to: /usr/local/mydumper-0.6.2 [root@localhost mydumper-0.6.2]# echo $? [root@localhost mydumper-0.6.2]# make Scanning dependencies of target mydumper [ 25%] Building C object CMakeFiles/mydumper.dir/mydumper.c.o [ 50%] Building C object CMakeFiles/mydumper.dir/server_detect.c.o [ 75%] Building C object CMakeFiles/mydumper.dir/g_unix_signal.c.o Linking C executable mydumper [ 75%] Built target mydumper Scanning dependencies of target myloader [100%] Building C object CMakeFiles/myloader.dir/myloader.c.o Linking C executable myloader [100%] Built target myloader [root@localhost mydumper-0.6.2]# make install [ 75%] Built target mydumper [100%] Built target myloader Install the project... -- Install configuration: "" -- Installing: /usr/local/bin/mydumper -- Removed runtime path from "/usr/local/bin/mydumper" -- Installing: /usr/local/bin/myloader -- Removed runtime path from "/usr/local/bin/myloader"安装成功。但是执行时又报错:[root@localhost mydumper-0.6.2]# mydumper --helpmydumper: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory解决办法:[root@localhost mydumper-0.6.2]# ldd /usr/local/bin/mydumper linux-gate.so.1 => (0x00f91000) libmysqlclient.so.18 => not found libpthread.so.0 => /lib/libpthread.so.0 (0x006fc000) libm.so.6 => /lib/libm.so.6 (0x0072b000) librt.so.1 => /lib/librt.so.1 (0x00720000) libdl.so.2 => /lib/libdl.so.2 (0x00719000) libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00757000) libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0x00918000) libpcre.so.0 => /lib/libpcre.so.0 (0x021a8000) libz.so.1 => /lib/libz.so.1 (0x002ea000) libc.so.6 => /lib/libc.so.6 (0x00564000) /lib/ld-linux.so.2 (0x0053e000) [root@localhost mydumper-0.6.2]# LD_DEBUG=libs /usr/local/bin/mydumper -v 2707: find library=libmysqlclient.so.18 [0]; searching 2707: search cache=/etc/ld.so.cache 2707: search path=/lib/tls/i686/sse2:/lib/tls/i686:/lib/tls/sse2:/lib/tls:/lib/i686/sse2:/lib/i686:/lib/sse2:/lib:/usr/lib/tls /i686/sse2:/usr/lib/tls/i686:/usr/lib/tls/sse2:/usr/lib/tls:/usr/lib/i686/sse2:/usr/lib/i686:/usr/lib/sse2:/usr/lib (system s earch path) 2707: trying file=/lib/tls/i686/sse2/libmysqlclient.so.18 2707: trying file=/lib/tls/i686/libmysqlclient.so.18 2707: trying file=/lib/tls/sse2/libmysqlclient.so.18 2707: trying file=/lib/tls/libmysqlclient.so.18 2707: trying file=/lib/i686/sse2/libmysqlclient.so.18 2707: trying file=/lib/i686/libmysqlclient.so.18 2707: trying file=/lib/sse2/libmysqlclient.so.18 2707: trying file=/lib/libmysqlclient.so.18 2707: trying file=/usr/lib/tls/i686/sse2/libmysqlclient.so.18 2707: trying file=/usr/lib/tls/i686/libmysqlclient.so.18 2707: trying file=/usr/lib/tls/sse2/libmysqlclient.so.18 2707: trying file=/usr/lib/tls/libmysqlclient.so.18 2707: trying file=/usr/lib/i686/sse2/libmysqlclient.so.18 2707: trying file=/usr/lib/i686/libmysqlclient.so.18 2707: trying file=/usr/lib/sse2/libmysqlclient.so.18 2707: trying file=/usr/lib/libmysqlclient.so.18没有找到 libmysqlclient.so.18[root@localhost mydumper-0.6.2]# locate libmysqlclient.so.18/usr/local/mysql-5.6.26-linux-glibc2.5-i686/lib/libmysqlclient.so.18/usr/local/mysql-5.6.26-linux-glibc2.5-i686/lib/libmysqlclient.so.18.1.0[root@localhost mydumper-0.6.2]# ll /usr/local/mysql-5.6.26-linux-glibc2.5-i686/lib/libmysqlclient.so.18lrwxrwxrwx. 1 root mysql 24 Aug 13 14:18 /usr/local/mysql-5.6.26-linux-glibc2.5-i686/lib/libmysqlclient.so.18 -> libmysqlclient.so.18.1.0然后将 /usr/local/mysql-5.6.26-linux-glibc2.5-i686/lib/libmysqlclient.so.18.1.0 复制到 /usr/lib/ 木下:[root@localhost mydumper-0.6.2]# cp /usr/local/mysql-5.6.26-linux-glibc2.5-i686/lib/libmysqlclient.so.18.1.0 /usr/lib/libmysqlclient.so.18 [root@localhost mydumper-0.6.2]# ldd /usr/local/bin/mydumper linux-gate.so.1 => (0x00805000) libmysqlclient.so.18 => /usr/lib/libmysqlclient.so.18 (0x0019f000) libpthread.so.0 => /lib/libpthread.so.0 (0x006fc000) libm.so.6 => /lib/libm.so.6 (0x0072b000) librt.so.1 => /lib/librt.so.1 (0x00720000) libdl.so.2 => /lib/libdl.so.2 (0x00719000) libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x0055e000) libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0x00918000) libpcre.so.0 => /lib/libpcre.so.0 (0x021a8000) libz.so.1 => /lib/libz.so.1 (0x0067b000) libc.so.6 => /lib/libc.so.6 (0x0091d000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x07b14000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0068f000) /lib/ld-linux.so.2 (0x0053e000)测试:[root@localhost mydumper-0.6.2]# mydumper --help Usage: mydumper [OPTION...] multi-threaded MySQL dumpingHelp Options: -?, --help Show help optionsApplication Options: -B, --database Database to dump -T, --tables-list Comma delimited table list to dump (does not exclude regex option) -o, --outputdir Directory to output files to -s, --statement-size Attempted size of INSERT statement in bytes, default 1000000 -r, --rows Try to split tables into chunks of this many rows. This option turns off --chunk-filesize -F, --chunk-filesize Split tables into chunks of this output file size. This value is in MB -c, --compress Compress output files -e, --build-empty-files Build dump files even if no data available from table -x, --regex Regular expression for "db.table" matching -i, --ignore-engines Comma delimited list of storage engines to ignore -m, --no-schemas Do not dump table schemas with the data -k, --no-locks Do not execute the temporary shared read lock. WARNING: This will cause inconsistent backups --less-locking Minimize locking time on InnoDB tables. -l, --long-query-guard Set long query timer in seconds, default 60 -K, --kill-long-queries Kill long running queries (instead of aborting) -D, --daemon Enable daemon mode -I, --snapshot-interval Interval between each dump snapshot (in minutes), requires --daemon, default 60 -L, --logfile Log file name to use, by default stdout is used --tz-utc SET TIME_ZONE="+00:00" at top of dump to allow dumping of TIMESTAMP data when a server has data in different time zones or data is being moved between servers with different time zones, defaults to on use --skip-tz-utc to disable. --skip-tz-utc --use-savepoints Use savepoints to reduce metadata locking issues, needs SUPER privilege --success-on-1146 Not increment error count and Warning instead of Critical in case of table doesn"t exist --lock-all-tables Use LOCK TABLE for all, instead of FTWRL -h, --host The host to connect to -u, --user Username with privileges to run the dump -p, --password User password -P, --port TCP/IP port to connect to -S, --socket UNIX domain socket file to use for connection -t, --threads Number of threads to use, default 4 -C, --compress-protocol Use compression on the MySQL connection -V, --version Show the program version and exit -v, --verbose Verbosity of output, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2搞定。启发:解决问题的最好方法是到官网查看文档和说明。MySQL备份工具mydumper备份 http://www.linuxidc.com/Linux/2015-10/123733.htm mydumper安装及安装故障汇总 http://www.linuxidc.com/Linux/2015-07/119654.htm mydumper备份mysql数据库示例 http://www.linuxidc.com/Linux/2015-07/119652.htm myloader恢复mysql数据库示例 http://www.linuxidc.com/Linux/2015-07/119651.htm加快mydumper与myloader导出导入 http://www.linuxidc.com/Linux/2015-09/122925.htmMydumper - MySQL数据库备份工具 http://www.linuxidc.com/Linux/2015-04/116695.htm本文永久更新链接地址