在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了。