使用mysqlhotcopy 物理增量備份

來源:互聯網
上載者:User

MySQL版本是5.1.49

# uname -a
Linux loDB192168000046 2.6.18-238.19.1.el5 #1 SMP Fri Jul 15 07:31:24 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

# cat /etc/issue
CentOS release 5.6 (Final)
Kernel \r on an \m

# mysqlhotcopy -u root -p '密碼' 資料庫名 備份目錄

Can't locate DBI.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at bin/mysqlhotcopy line 8.
BEGIN failed--compilation aborted at bin/mysqlhotcopy line 8.

上面出錯是因為perl-DBD-mysql未安裝:

# rpm -qa | grep perl-DBD

下載並安裝perl-DBD-mysql提示缺少"libmysqlclient.so.15":
# rpm -ivh perl-DBD-MySQL-3.0007-2.el5.x86_64.rpm
error: Failed dependencies:
        libmysqlclient.so.15()(64bit) is needed by perl-DBD-MySQL-3.0007-2.el5.x86_64
        libmysqlclient.so.15(libmysqlclient_15)(64bit) is needed by perl-DBD-MySQL-3.0007-2.el5.x86_64
        perl(DBI) is needed by perl-DBD-MySQL-3.0007-2.el5.x86_64

看看 libmysqlclient.so.15這個檔案是否存在
# locate libmysqlclient.so.15
/usr/local/mysql/lib/mysql/libmysqlclient.so.15
/usr/local/mysql/lib/mysql/libmysqlclient.so.15.0.0
結果顯示libmysqlclient.so.15檔案是有的, 只是不在/usr/lib目錄下而已:

我們只需要使用ldconfig 指定路徑即可,下面安裝MySQL-shared-compat-5.0.95-1.glibc23.x86_64.rpm包則可跳過
#ldconfig /usr/local/mysql/lib/mysql

因為我的版本是5.1.49, 其實是有libmysqlclient的,但版本為locate libmysqlclient.so.16
# locate libmysqlclient.so.16
/usr/local/mysql-5.1.49-linux-x86_64-glibc23/lib/libmysqlclient.so.16
/usr/local/mysql-5.1.49-linux-x86_64-glibc23/lib/libmysqlclient.so.16.0.0
那我們使用MySQL-shared-compat 的rpm包:


下載MySQL-shared庫檔案, :http://dev.mysql.com/downloads/mysql/5.0.html
先查包裡面是否有libmysqlclient.so.15這個檔案
# rpm -qilp MySQL-shared-compat-5.0.95-1.glibc23.x86_64.rpm
...
/usr/lib64/libmysqlclient.so
/usr/lib64/libmysqlclient.so.12
/usr/lib64/libmysqlclient.so.12.0.0
/usr/lib64/libmysqlclient.so.14
/usr/lib64/libmysqlclient.so.14.0.0
/usr/lib64/libmysqlclient.so.15
/usr/lib64/libmysqlclient.so.15.0.0
/usr/lib64/libmysqlclient_r.so
/usr/lib64/libmysqlclient_r.so.12
/usr/lib64/libmysqlclient_r.so.12.0.0
/usr/lib64/libmysqlclient_r.so.14
/usr/lib64/libmysqlclient_r.so.14.0.0
/usr/lib64/libmysqlclient_r.so.15
/usr/lib64/libmysqlclient_r.so.15.0.0
/usr/lib64/libndbclient.so
/usr/lib64/libndbclient.so.2
/usr/lib64/libndbclient.so.2.0.0
從執行結果上看是有的,安裝此rpm包 可以徹底解決關於類似 libmysqlclient.so 的問題。
# rpm -ihv MySQL-shared-compat-5.0.95-1.glibc23.x86_64.rpm

更新一下檔案樹庫, 然後此時就會看到libmysqlclient.so.15在/usr/lib64目錄下也有一份:
# updatedb
# locate libmysqlclient.so.15
/usr/lib64/libmysqlclient.so.15
/usr/lib64/libmysqlclient.so.15.0.0

  • 1
  • 2
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.