解决:CentOS下的 error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or dir
进入别人的centos,输入命令 mysql mysqladm都会报错,缺少这个共享库 libmysqlclient.so.16 。
查找下,一般都是ldconfig 没有找到共享库的位置,或者 软链接的问题,但是 都是不治本的解决方案。
查找 此文件 相关的文件:
updatedb
locate libmysqlclient.so
出现 在/usr/lib64/mysql/libmysqlclient.so
但是
ll /usr/lib64/mysql/libmysqlclient.so
lrwxrwxrwx. 1 root root 24 11月 20 17:02 /usr/lib64/mysql/libmysqlclient.so -> libmysqlclient.so.16.0.0
这个是一个软链接而已,原本的libmysqlclient.so.16.0.0却找不到。
查看当前系统安装的mysql的软件
rpm -qa|grep mysql
mysql-server-5.1.69-1.el6_4.x86_64
mysql-libs-5.1.69-1.el6_4.x86_64
mysql-devel-5.1.69-1.el6_4.x86_64
mysql-5.1.69-1.el6_4.x86_64
yum search mysql
yum search mysql Loaded plugins: fastestmirror, security Determining fastest mirrors * base: mirrors.yun-idc.com * extras: mirror01.idc.hinet.net * updates: mirrors.yun-idc.com =================================== N/S Matched: mysql =================================== MySQL-python.x86_64 : An interface to MySQL apr-util-mysql.x86_64 : APR utility library MySQL DBD driver bacula-director-mysql.x86_64 : Bacula Director with MySQL database support bacula-storage-mysql.x86_64 : MySQL Bacula storage daemon files dovecot-mysql.x86_64 : MySQL back end for dovecot freeradius-mysql.x86_64 : MySQL support for freeradius libdbi-dbd-mysql.x86_64 : MySQL plugin for libdbi mod_auth_mysql.x86_64 : Basic authentication for the Apache web server using a MySQL : database mysql.x86_64 : MySQL client programs and shared libraries mysql-bench.x86_64 : MySQL benchmark scripts and data mysql-connector-java.noarch : Official JDBC driver for MySQL mysql-connector-odbc.x86_64 : ODBC driver for MySQL mysql-devel.i686 : Files for development of MySQL applications mysql-devel.x86_64 : Files for development of MySQL applications mysql-embedded.i686 : MySQL as an embeddable library mysql-embedded.x86_64 : MySQL as an embeddable library mysql-embedded-devel.i686 : Development files for MySQL as an embeddable library mysql-embedded-devel.x86_64 : Development files for MySQL as an embeddable library mysql-libs.i686 : The shared libraries required for MySQL clients mysql-libs.x86_64 : The shared libraries required for MySQL clients mysql-server.x86_64 : The MySQL server and related files mysql-test.x86_64 : The test suite distributed with MySQL perl-DBD-MySQL.x86_64 : A MySQL interface for perl php-mysql.x86_64 : A module for PHP applications that use MySQL databases qt-mysql.i686 : MySQL driver for Qt's SQL classes qt-mysql.x86_64 : MySQL driver for Qt's SQL classes qt3-MySQL.i686 : MySQL drivers for Qt 3's SQL classes qt3-MySQL.x86_64 : MySQL drivers for Qt 3's SQL classes rsyslog-mysql.x86_64 : MySQL support for rsyslog Name and summary matches only, use "search all" for everything.
只有那么几个是重要的。
但是 我查询 libmysqlclient.so 究竟是哪个包所带的呢?
rpm -ql mysql-server
/etc/rc.d/init.d/mysqld /usr/bin/innochecksum /usr/bin/myisam_ftdump /usr/bin/myisamchk /usr/bin/myisamlog /usr/bin/myisampack /usr/bin/mysql_convert_table_format /usr/bin/mysql_fix_extensions /usr/bin/mysql_fix_privilege_tables /usr/bin/mysql_install_db /usr/bin/mysql_secure_installation /usr/bin/mysql_setpermission /usr/bin/mysql_tzinfo_to_sql /usr/bin/mysql_upgrade /usr/bin/mysql_zap /usr/bin/mysqlbug /usr/bin/mysqld_multi /usr/bin/mysqld_safe /usr/bin/mysqldumpslow /usr/bin/mysqlhotcopy /usr/bin/mysqltest /usr/bin/perror /usr/bin/replace /usr/bin/resolve_stack_dump /usr/bin/resolveip /usr/lib64/mysql/plugin /usr/lib64/mysql/plugin/ha_archive.so /usr/lib64/mysql/plugin/ha_archive.so.0 /usr/lib64/mysql/plugin/ha_archive.so.0.0.0 /usr/lib64/mysql/plugin/ha_blackhole.so /usr/lib64/mysql/plugin/ha_blackhole.so.0 /usr/lib64/mysql/plugin/ha_blackhole.so.0.0.0 /usr/lib64/mysql/plugin/ha_example.so /usr/lib64/mysql/plugin/ha_example.so.0 /usr/lib64/mysql/plugin/ha_example.so.0.0.0 /usr/lib64/mysql/plugin/ha_federated.so /usr/lib64/mysql/plugin/ha_federated.so.0 /usr/lib64/mysql/plugin/ha_federated.so.0.0.0 /usr/lib64/mysql/plugin/ha_innodb_plugin.so /usr/lib64/mysql/plugin/ha_innodb_plugin.so.0 /usr/lib64/mysql/plugin/ha_innodb_plugin.so.0.0.0 /usr/libexec/mysqld /usr/libexec/mysqlmanager /usr/share/doc/mysql-server-5.1.69 /usr/share/doc/mysql-server-5.1.69/my-huge.cnf /usr/share/doc/mysql-server-5.1.69/my-innodb-heavy-4G.cnf /usr/share/doc/mysql-server-5.1.69/my-large.cnf /usr/share/doc/mysql-server-5.1.69/my-medium.cnf /usr/share/doc/mysql-server-5.1.69/my-small.cnf /usr/share/man/man1/innochecksum.1.gz /usr/share/man/man1/msql2mysql.1.gz /usr/share/man/man1/myisam_ftdump.1.gz /usr/share/man/man1/myisamchk.1.gz /usr/share/man/man1/myisamlog.1.gz /usr/share/man/man1/myisampack.1.gz /usr/share/man/man1/mysql.server.1.gz /usr/share/man/man1/mysql_convert_table_format.1.gz /usr/share/man/man1/mysql_fix_extensions.1.gz /usr/share/man/man1/mysql_fix_privilege_tables.1.gz /usr/share/man/man1/mysql_install_db.1.gz /usr/share/man/man1/mysql_secure_installation.1.gz /usr/share/man/man1/mysql_setpermission.1.gz /usr/share/man/man1/mysql_tzinfo_to_sql.1.gz /usr/share/man/man1/mysql_upgrade.1.gz /usr/share/man/man1/mysql_zap.1.gz /usr/share/man/man1/mysqlbinlog.1.gz /usr/share/man/man1/mysqlbug.1.gz /usr/share/man/man1/mysqlcheck.1.gz /usr/share/man/man1/mysqld_multi.1.gz /usr/share/man/man1/mysqld_safe.1.gz /usr/share/man/man1/mysqldumpslow.1.gz /usr/share/man/man1/mysqlhotcopy.1.gz /usr/share/man/man1/mysqlimport.1.gz /usr/share/man/man1/mysqlman.1.gz /usr/share/man/man1/mysqltest.1.gz /usr/share/man/man1/perror.1.gz /usr/share/man/man1/replace.1.gz /usr/share/man/man1/resolve_stack_dump.1.gz /usr/share/man/man1/resolveip.1.gz /usr/share/man/man8/mysqld.8.gz /usr/share/man/man8/mysqlmanager.8.gz /usr/share/mysql/config.huge.ini /usr/share/mysql/config.medium.ini /usr/share/mysql/config.small.ini /usr/share/mysql/errmsg.txt /usr/share/mysql/fill_help_tables.sql /usr/share/mysql/my-huge.cnf /usr/share/mysql/my-innodb-heavy-4G.cnf /usr/share/mysql/my-large.cnf /usr/share/mysql/my-medium.cnf /usr/share/mysql/my-small.cnf /usr/share/mysql/mysql_fix_privilege_tables.sql /usr/share/mysql/mysql_system_tables.sql /usr/share/mysql/mysql_system_tables_data.sql /usr/share/mysql/mysql_test_data_timezone.sql /var/lib/mysql /var/log/mysqld.log /var/run/mysqld
rpm -ql mysql
/usr/bin/msql2mysql /usr/bin/my_print_defaults /usr/bin/mysql /usr/bin/mysql_config /usr/bin/mysql_find_rows /usr/bin/mysql_waitpid /usr/bin/mysqlaccess /usr/bin/mysqladmin /usr/bin/mysqlbinlog /usr/bin/mysqlcheck /usr/bin/mysqldump /usr/bin/mysqlimport /usr/bin/mysqlshow /usr/bin/mysqlslap /usr/lib64/mysql/mysql_config /usr/lib64/mysql/mysqlbug /usr/share/doc/mysql-5.1.69 /usr/share/doc/mysql-5.1.69/COPYING /usr/share/doc/mysql-5.1.69/README /usr/share/doc/mysql-5.1.69/README.mysql-docs /usr/share/doc/mysql-5.1.69/README.mysql-license /usr/share/man/man1/my_print_defaults.1.gz /usr/share/man/man1/mysql.1.gz /usr/share/man/man1/mysql_config.1.gz /usr/share/man/man1/mysql_find_rows.1.gz /usr/share/man/man1/mysql_waitpid.1.gz /usr/share/man/man1/mysqlaccess.1.gz /usr/share/man/man1/mysqladmin.1.gz /usr/share/man/man1/mysqldump.1.gz /usr/share/man/man1/mysqlshow.1.gz /usr/share/man/man1/mysqlslap.1.gz
还是没有继续找:
rpm -ql mysql-devel
/usr/include/mysql /usr/include/mysql/decimal.h /usr/include/mysql/errmsg.h /usr/include/mysql/keycache.h /usr/include/mysql/m_ctype.h /usr/include/mysql/m_string.h /usr/include/mysql/my_alloc.h /usr/include/mysql/my_attribute.h /usr/include/mysql/my_compiler.h /usr/include/mysql/my_config.h /usr/include/mysql/my_config_x86_64.h /usr/include/mysql/my_dbug.h /usr/include/mysql/my_dir.h /usr/include/mysql/my_getopt.h /usr/include/mysql/my_global.h /usr/include/mysql/my_list.h /usr/include/mysql/my_net.h /usr/include/mysql/my_no_pthread.h /usr/include/mysql/my_pthread.h /usr/include/mysql/my_sys.h /usr/include/mysql/my_xml.h /usr/include/mysql/mysql.h /usr/include/mysql/mysql_com.h /usr/include/mysql/mysql_embed.h /usr/include/mysql/mysql_time.h /usr/include/mysql/mysql_version.h /usr/include/mysql/mysqld_ername.h /usr/include/mysql/mysqld_error.h /usr/include/mysql/plugin.h /usr/include/mysql/sql_common.h /usr/include/mysql/sql_state.h /usr/include/mysql/sslopt-case.h /usr/include/mysql/sslopt-longopts.h /usr/include/mysql/sslopt-vars.h /usr/include/mysql/typelib.h /usr/lib64/mysql/libmysqlclient.so /usr/lib64/mysql/libmysqlclient_r.so /usr/share/aclocal/mysql.m4
不对啊,这个是连接,不是源文件的。
继续找
rpm -ql mysql-libs
/etc/ld.so.conf.d/mysql-x86_64.conf /etc/my.cnf /usr/lib64/mysql /usr/lib64/mysql/libmysqlclient.so.16 /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib64/mysql/libmysqlclient_r.so.16 /usr/lib64/mysql/libmysqlclient_r.so.16.0.0 /usr/share/doc/mysql-libs-5.1.69 /usr/share/doc/mysql-libs-5.1.69/COPYING /usr/share/doc/mysql-libs-5.1.69/README.mysql-license /usr/share/mysql /usr/share/mysql/charsets /usr/share/mysql/charsets/Index.xml /usr/share/mysql/charsets/README /usr/share/mysql/charsets/armscii8.xml /usr/share/mysql/charsets/ascii.xml /usr/share/mysql/charsets/cp1250.xml /usr/share/mysql/charsets/cp1251.xml /usr/share/mysql/charsets/cp1256.xml /usr/share/mysql/charsets/cp1257.xml /usr/share/mysql/charsets/cp850.xml /usr/share/mysql/charsets/cp852.xml /usr/share/mysql/charsets/cp866.xml /usr/share/mysql/charsets/dec8.xml /usr/share/mysql/charsets/geostd8.xml /usr/share/mysql/charsets/greek.xml /usr/share/mysql/charsets/hebrew.xml /usr/share/mysql/charsets/hp8.xml /usr/share/mysql/charsets/keybcs2.xml /usr/share/mysql/charsets/koi8r.xml /usr/share/mysql/charsets/koi8u.xml /usr/share/mysql/charsets/latin1.xml /usr/share/mysql/charsets/latin2.xml /usr/share/mysql/charsets/latin5.xml /usr/share/mysql/charsets/latin7.xml /usr/share/mysql/charsets/macce.xml /usr/share/mysql/charsets/macroman.xml /usr/share/mysql/charsets/swe7.xml /usr/share/mysql/czech /usr/share/mysql/czech/errmsg.sys /usr/share/mysql/danish /usr/share/mysql/danish/errmsg.sys /usr/share/mysql/dutch /usr/share/mysql/dutch/errmsg.sys /usr/share/mysql/english /usr/share/mysql/english/errmsg.sys /usr/share/mysql/estonian /usr/share/mysql/estonian/errmsg.sys /usr/share/mysql/french /usr/share/mysql/french/errmsg.sys /usr/share/mysql/german /usr/share/mysql/german/errmsg.sys /usr/share/mysql/greek /usr/share/mysql/greek/errmsg.sys /usr/share/mysql/hungarian /usr/share/mysql/hungarian/errmsg.sys /usr/share/mysql/italian /usr/share/mysql/italian/errmsg.sys /usr/share/mysql/japanese /usr/share/mysql/japanese/errmsg.sys /usr/share/mysql/korean /usr/share/mysql/korean/errmsg.sys /usr/share/mysql/norwegian /usr/share/mysql/norwegian-ny /usr/share/mysql/norwegian-ny/errmsg.sys /usr/share/mysql/norwegian/errmsg.sys /usr/share/mysql/polish /usr/share/mysql/polish/errmsg.sys /usr/share/mysql/portuguese /usr/share/mysql/portuguese/errmsg.sys /usr/share/mysql/romanian /usr/share/mysql/romanian/errmsg.sys /usr/share/mysql/russian /usr/share/mysql/russian/errmsg.sys /usr/share/mysql/serbian /usr/share/mysql/serbian/errmsg.sys /usr/share/mysql/slovak /usr/share/mysql/slovak/errmsg.sys /usr/share/mysql/spanish /usr/share/mysql/spanish/errmsg.sys /usr/share/mysql/swedish /usr/share/mysql/swedish/errmsg.sys /usr/share/mysql/ukrainian /usr/share/mysql/ukrainian/errmsg.sys
终于找到了。甚至 my.cnf 和 ld.config 也在这个包里。
yum remove mysql-libs
发现居然要卸载许多依赖,这样不可以啊。
那就
yum reinstall mysql-libs -y
安装好之后,就可以了。。
------------------------------------------------------------------------------------------------
一定要专业!本博客定位于 ,C语言,C++语言,Java语言,Android开发和少量的Web开发,之前是做Web开发的,其实就是ASP维护,发现EasyASP这个好框架,对前端后端数据库 都很感觉亲切啊。. linux,总之后台开发多一点。以后也愿意学习 cocos2d-x 游戏客户端的开发。