MySQL学习——程序开发工具

Program Development Utilities(程序开发工具)是一系列辅助程序员在软件开发过程中提高效率和质量的工具。这些工具涵盖了从代码编辑、编译、调试到测试、性能分析等多个方面。

本文介绍一些在开发MySQL程序时可能很有用的实用程序。

在shell脚本中,您可以使用my_print_defaults程序来解析选项文件,并查看给定程序将使用哪些选项。以下示例显示了my_print_defaults在被要求显示[client]和[mysql]组中的选项时可能产生的输出:

$> my_print_defaults client mysql
--port=3306
--socket=/tmp/mysql.sock
--no-auto-rehash

选项文件处理是在C客户端库中实现的,只需在任何命令行参数之前处理相应组中的所有选项即可。这对于使用多次指定的选项的最后一个实例的程序来说效果很好。如果你有一个C或C++程序,它以这种方式处理多个指定的选项,但不读取选项文件,你只需要添加两行来赋予它这种能力。检查任何标准MySQL客户端的源代码,看看如何做到这一点。

MySQL的其他几个语言接口基于C客户端库,其中一些提供了一种访问选项文件内容的方法。其中包括Perl和Python。

mysql_config------编译客户端的显示选项

mysql_config为您提供了编译mysql客户端并将其连接到mysql的有用信息。它是一个shell脚本,因此仅在Unix和类Unix系统上可用。

pkg-config可以用作mysql_config的替代品,用于获取编译mysql应用程序所需的编译器标志或链接库等信息。有关更多信息,请参阅使用pkg-config构建C API客户端程序。

mysql_config支持以下选项。

  • --cflags

要查找的C编译器标志包括编译libmysqlclient库时使用的文件和关键编译器标志和定义。返回的选项与创建库时使用的特定编译器相关联,可能与您自己的编译器设置冲突。使用--include可获得仅包含include路径的更多可移植选项。

  • --cxxflags

类似于--cflags,但用于C++编译器标志。

  • --include

查找MySQL的编译器选项包括文件。

  • --libs

与MySQL客户端库链接所需的库和选项。

  • --libs_r

与线程安全MySQL客户端库链接所需的库和选项。在MySQL 9.0中,所有客户端库都是线程安全的,因此不需要使用此选项。--libs选项可以在所有情况下使用。

  • --plugindir

配置MySQL时定义的默认插件目录路径名。

  • --port

配置MySQL时定义的默认TCP/IP端口号。

  • --socket

配置MySQL时定义的默认Unix套接字文件。

  • --variable=var_name

显示命名配置变量的值。允许的var_name值是pkgincludedir(头文件目录)、pkglibdir(库目录)和plugindir(插件目录)。

  • --version

MySQL发行版的版本号。

如果你在没有选项的情况下调用mysql_config,它会显示它支持的所有选项及其值的列表:

$> mysql_config
Usage: ./mysql_config [OPTIONS]
Compiler: GNU 10.4.0

Options:
  --cflags         [-I/usr/local/mysql/include/mysql]
  --cxxflags       [-I/usr/local/mysql/include/mysql]
  --include        [-I/usr/local/mysql/include/mysql]
  --libs           [-L/usr/local/mysql/lib/mysql -lmysqlclient -lpthread -ldl  
                    -lssl  -lcrypto -lresolv -lm -lrt]
  --libs_r         [-L/usr/local/mysql/lib/mysql -lmysqlclient -lpthread -ldl  
                    -lssl  -lcrypto -lresolv -lm -lrt]
  --plugindir      [/usr/local/mysql/lib/plugin]
  --socket         [/tmp/mysql.sock]
  --port           [3306]
  --version        [8.4.0]
  --variable=VAR   VAR is one of:
          pkgincludedir [/usr/local/mysql/include]
          pkglibdir     [/usr/local/mysql/lib]
          plugindir     [/usr/local/mysql/lib/plugin]

您可以在命令行中使用mysql_config,使用回溯来包含它为特定选项生成的输出。例如,要编译和链接MySQL客户端程序,请按如下方式使用MySQL_config:

gcc -c `mysql_config --cflags` progname.c
gcc -o progname progname.o `mysql_config --libs`

my_print_defaults--显示选项文件中的选项

my_print_defaults显示选项文件选项组中存在的选项。输出指示读取指定选项组的程序使用哪些选项。例如,mysqlcheck程序读取[mysqlcheck]和[client]选项组。要查看标准选项文件中这些组中存在哪些选项,请按如下方式调用my_print_defaults:

my_print_defaults--显示选项文件中的选项
my_print_defaults显示选项文件选项组中存在的选项。输出指示读取指定选项组的程序使用哪些选项。例如,mysqlcheck程序读取[mysqlcheck]和[client]选项组。要查看标准选项文件中这些组中存在哪些选项,请按如下方式调用my_print_defaults:

输出由选项组成,每行一个,其形式将在命令行上指定。

my_print_defaults支持以下选项。

  • --help,-?

显示帮助消息并退出。

  • --config file=file_name,--default-file=filename,-c file_name

只读给定的选项文件。

  • --debug=debug option,-#debug_options

编写调试日志。典型的debug_options字符串是d:t:o,file_name。默认值为d:t:o,/tmp/my_print_defaults.trace。

  • --default-extra-file=file_name,--extra-file=file_name,-e file_name

在全局选项文件之后读取此选项文件,但(在Unix上)在用户选项文件之前读取。

除了命令行上指定的组外,还要读取具有给定后缀的组。

  • --login-name=name,-l name

从.mylogin.cnf登录路径文件中的指定登录路径读取选项。"登录路径"是一个选项组,其中包含指定要连接到哪个MySQL服务器以及要作为哪个帐户进行身份验证的选项。要创建或修改登录路径文件,请使用MySQL_config_editor实用程序。

跳过登录路径文件中的读取选项。

返回一个空字符串。

  • --show,-s

my_print_defaults默认情况下会屏蔽密码。使用此选项以明文形式显示密码。

  • --verbose,-v

详细模式。打印有关程序功能的更多信息。

  • --version,-V

显示版本信息并退出。

相关推荐
微刻时光17 分钟前
Redis集群知识及实战
数据库·redis·笔记·学习·程序人生·缓存
单字叶27 分钟前
MySQL数据库
数据库·mysql
just-julie32 分钟前
MySQL面试题——第一篇
数据库·mysql
潮汐退涨月冷风霜2 小时前
机器学习之非监督学习(四)K-means 聚类算法
学习·算法·机器学习
GoppViper2 小时前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
羊小猪~~2 小时前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn
Charles Ray3 小时前
C++学习笔记 —— 内存分配 new
c++·笔记·学习
我要吐泡泡了哦4 小时前
GAMES104:15 游戏引擎的玩法系统基础-学习笔记
笔记·学习·游戏引擎
骑鱼过海的猫1234 小时前
【tomcat】tomcat学习笔记
笔记·学习·tomcat
贾saisai6 小时前
Xilinx系FPGA学习笔记(九)DDR3学习
笔记·学习·fpga开发