在linux下使用mysql的客戶端工具非常簡單方便,
例如我們可以mysql -h hostname -u username -p password -D database連接mysql,執行某個語句只需-e"SQL" 即可。
但是,mysql這個工具默認安裝是動態的,執行時需要export LD_LIBRARY_PATH=xxxxx/lib/mysql,
libdbug.a libmyisam.a libmysqlclient.a libmysqlclient.so libmysqlclient.so.15.0.0 libmysys.a
libheap.a libmyisammrg.a libmysqlclient.la libmysqlclient.so.15 libmystrings.a libvio.a
所以ldd mysql時纔有:libmysqlclient.so.15 => xxxxx/lib/mysql/libmysqlclient.so.15,
所以mysql工具放到其他機器上時就要和lib一起打包了,先export再執行,不是很方便。
現在,我們可以編譯出一個不使用動態庫的mysql工具,安裝mysql(只是爲了編譯一個工具)時,
只需configure時添加參數--with-client-ldflags=-all-static,安裝目錄隨便,make && make install後,
bin/mysql既是全靜態的。
ldd mysql時,not a dynamic executable。
使用方法和動態一樣,不用打包,不用export了。