安装完MySQLdb无法使用
Traceback (most recent call last): File "test.py", line 10, in <module> import MySQLdb as mysql File "/usr/lib64/python2.7/site-packages/MySQLdb/__init__.py", line 19, in <module> import _mysql ImportError: libperconaserverclient.so.20: cannot open shared object file: No such file or directory
查看安装日志
cat MySQL_python-1.2.5-py2.7.egg-info/SOURCES.txt """ GPL-2.0 HISTORY INSTALL MANIFEST.in README.md _mysql.c _mysql_exceptions.py metadata.cfg pymemcompat.h setup.cfg setup.py setup_common.py setup_posix.py setup_windows.py site.cfg MySQL_python.egg-info/PKG-INFO MySQL_python.egg-info/SOURCES.txt MySQL_python.egg-info/dependency_links.txt MySQL_python.egg-info/top_level.txt MySQLdb/__init__.py MySQLdb/connections.py MySQLdb/converters.py MySQLdb/cursors.py MySQLdb/release.py MySQLdb/times.py MySQLdb/constants/CLIENT.py MySQLdb/constants/CR.py MySQLdb/constants/ER.py MySQLdb/constants/FIELD_TYPE.py MySQLdb/constants/FLAG.py MySQLdb/constants/REFRESH.py MySQLdb/constants/__init__.py doc/FAQ.rst doc/MySQLdb.constants.rst doc/MySQLdb.rst doc/_mysql.rst doc/_mysql_exceptions.rst doc/conf.py doc/index.rst doc/modules.rst doc/user_guide.rst doc/_build/_sources/FAQ.txt doc/_build/_sources/MySQLdb.constants.txt doc/_build/_sources/MySQLdb.txt doc/_build/_sources/_mysql.txt doc/_build/_sources/_mysql_exceptions.txt doc/_build/_sources/distribute_setup.txt doc/_build/_sources/index.txt doc/_build/_sources/modules.txt doc/_build/_sources/setup.txt doc/_build/_sources/setup_common.txt doc/_build/_sources/setup_posix.txt doc/_build/_sources/setup_windows.txt doc/_build/_sources/user_guide.txt tests/capabilities.py tests/configdb.py tests/dbapi20.py tests/test_MySQLdb_capabilities.py tests/test_MySQLdb_dbapi20.py tests/test_MySQLdb_nonstandard.py """
找到_mysql.so
ld _mysql.so """ ld: warning: libperconaserverclient.so.20, needed by _mysql.so, not found (try using -rpath or -rpath-link) ld: warning: cannot find entry symbol _start; not setting start address _mysql.so:对‘mysql_field_count@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_ssl_set@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_get_character_set_info@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_rollback@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_shutdown@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_init@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_server_end@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_real_connect@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_commit@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_select_db@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_get_client_info@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_data_seek@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_stat@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_errno@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_use_result@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_thread_safe@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_autocommit@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_num_fields@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_free_result@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_num_rows@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_kill@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_thread_id@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_real_query@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_insert_id@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_set_character_set@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_get_host_info@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_next_result@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_fetch_row@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_dump_debug_info@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_row_tell@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_fetch_lengths@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_get_proto_info@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_options@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_escape_string@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_row_seek@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_change_user@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_debug@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_sqlstate@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_affected_rows@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_fetch_fields@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_character_set_name@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_warning_count@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_set_server_option@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_server_init@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_error@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_real_escape_string@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_get_server_info@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_close@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_ping@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_info@libperconaserverclient_20.0’未定义的引用 _mysql.so:对‘mysql_store_result@libperconaserverclient_20.0’未定义的引用 """
# 解决
ln -s /usr/lib64/mysql/libperconaserverclient.so /usr/lib64/libperconaserverclient.so