zoukankan      html  css  js  c++  java
  • Find the location of libmysqlclient.so.X file in Linux environments

    I'm putting together a script that has a requirement of knowing libmysqlclient.so.[15|16|18] .so file. It's usually located in /usr/lib/ , /usr/lib64/ or a mysql/ subdirectory of the aforementioned directories.

    This will give you all of the libmysql files recognized by the linker. The higher on the list has the higher priority and is more likely to be linked against.

    /sbin/ldconfig -p | grep mysql | cut -d> -f2
    

    One caveat though is that since most applications link by doing a gcc -lmysqlclient they will favor a file in the ldconfig listed as libmysqlclient.so rather than .so.15 or whatever. So personally I would assume that the first libmysqlclient.so is the correct one.

    Which shared object library is used depends on the user enviroment and binary that is run. If you su - USER to the user that is running the binary and then run the command ldd MYSQLBINARY | grep mysqlclient that will determine which mysqlclient library is going to be used.

    By default on most Linux systems, /usr/lib (used for x86 binaries) and /usr/lib64 (used for x86_64 bit binaries).

    Btw, running locate libmysqlclient.so to get a list of all the shared objects that are installed system wide (probably won't report .so files installed in user paths though).

  • 相关阅读:
    group by与聚合函数
    表联结
    项目延期 怎样规避风险
    虚拟机安装linux系统
    Cannot truncate a table referenced in a foreign key constraint
    李航--《统计学习方法总结》
    CART算法
    北航学长分享交流笔记
    CentOS7导入MySql数据表结构并显示表结构
    RedHat7安装mysql5.7数据库
  • 原文地址:https://www.cnblogs.com/mydriverc/p/7340663.html
Copyright © 2011-2022 走看看