4.7 mysql 程序開發工具

參考官方文檔:

dev.mysql.com/doc/refma

在shell腳本中,可以使用my_print_defaults程序來解析選項文件,並查看給定程序將使用哪些選項。 以下示例顯示my_print_defaults在要求顯示在[client]和[mysql]組中找到的選項時可能產生的輸出:

shell> my_print_defaults client mysql

--port=3306

--socket=/tmp/mysql.sock

--no-auto-rehash

開發者注意事項:只需在任何命令行參數前面處理相應的一個或多個組中的所有選項,即可在C客戶端庫中實現選項文件處理。 這適用於使用多次指定選項的最後一個實例的程序。 如果您有一個C或C ++程序以這種方式處理乘法指定的選項,但不讀取選項文件,則只需添加兩行即可獲得該功能。 檢查任何標準MySQL客戶端的源代碼以了解如何執行此操作。

MySQL的其他幾種語言介面基於C客戶端庫,其中一些提供了訪問選項文件內容的方式。 這些包括Perl和Python。 。

4.7.1 mysql_config --用於顯示編譯客戶端的選項

mysql_config為您提供了編譯MySQL客戶端並將其連接到MySQL的有用信息。 它是一個shell腳本,所以它只能在Unix和類Unix系統上使用。

注意:

從MySQL 5.7.9開始,可以使用pkg-config作為mysql_config的替代方法來獲取編譯MySQL應用程序所需的編譯器標誌或鏈接庫等信息。

從MySQL 5.7.4開始,對於Solaris的二進位分發版,mysql_config不提供與嵌入式庫鏈接的參數。 要獲取嵌入式庫的鏈接參數,請改為使用mysql_server_config腳本。

詳細參考:dev.mysql.com/doc/refma

如果您在沒有選項的情況下調用mysql_config,它將顯示它支持的所有選項及其值的列表:

shell> mysql_config Usage: /usr/local/mysql/bin/mysql_config [options] Options:

您可以使用反引號在命令行中使用mysql_config來包含它為特定選項生成的輸出。 例如,要編譯和鏈接MySQL客戶端程序,請按如下所示使用mysql_config:

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

4.7.2 my_print_defaults 從選項文件中顯示選項

my_print_defaults顯示選項文件的選項組中存在的選項。 輸出表明讀取指定選項組的程序將使用哪些選項。 例如,mysqlcheck程序讀取[mysqlcheck]和[client]選項組。 要查看標準選項文件中這些組中存在哪些選項,請調用my_print_defaults,如下所示:

shell> my_print_defaults mysqlcheck client

--user=myusername

--password=password

--host=localhost

輸出由選項組成,每行一個,格式為它們將在命令行中指定的格式。

選項參考:

dev.mysql.com/doc/refma

4.7.3 resolve_stack_dump --將數值堆棧跟蹤轉儲解析為符號

resolve_stack_dump將數字堆棧轉儲解析為符號。

像這樣調用resolve_stack_dump:

shell> resolve_stack_dump [options] symbols_file [numeric_dump_file]

符號文件應該包含nm --numeric-sort mysqld命令的輸出。 數字轉儲文件應該包含來自mysqld的數字堆棧軌道。 如果在命令行上未命名數字轉儲文件,則將從標準輸入中讀取堆棧跟蹤。


推薦閱讀:

TAG:MySQL | MySQL入門 | MySQL必知必會書籍 |