1. 程式人生 > 其它 >MySQL 的程式 和 配置檔案

MySQL 的程式 和 配置檔案

1、MySQL 的 程式

MySQL 是一個軟體系統,包含很多程式部分,如 mysql,mysqld, mysqld_multi 等, 在MySQL 安裝路徑的 bin 資料夾下可檢視。

1.1 服務端程式

1)mysqld
守護程式(即 MySQL 伺服器)。要使用 Client 端程式,mysqld必須先執行

2)mysqld_safe
伺服器啟動指令碼。 mysqld_safe嘗試啟動mysqld

3)mysql.server
伺服器啟動指令碼。它呼叫mysqld_safe來啟動 MySQL 伺服器。該指令碼用於使用System v風格執行目錄的系統,這些目錄包含啟動特定執行級別的系統服務的指令碼。

4)mysqld_multi
伺服器啟動指令碼,可以啟動或停止系統上安裝的多個伺服器

  1. mysql_upgrade
    該程式用於MySQL升級操作後使用。它更新授權表,更新MySQL的新版本,並檢查表的不相容性,並在必要時修復它們

。。。。。

還有其他一些服務端程式,但一般使用 mysqld 就滿足需求了

1.2 客戶端程式

1)mysql
一個命令列工具,可以互動式地輸入SQL語句或以批處理模式從檔案中執行SQL語句。一般就是用此程式連線MySQL 伺服器,進而互動。

2)mysqladmin
執行管理操作的客戶端,例如建立或刪除資料庫、重新載入授權表、將表重新整理到磁碟和重新開啟日誌檔案。Mysqladmin還可以用於從伺服器檢索版本、程序和狀態資訊

3)mysqlcheck
用於表維護的客戶端:檢查、修理、分析和優化表。

4)mysqldump
將MySQL資料庫轉儲為SQL、文字或XML檔案的客戶端

5)mysqlimport
使用LOAD DATA將文字檔案匯入到各自表中的客戶端

6)mysqlpump
將MySQL資料庫轉儲為SQL檔案的客戶端

。。。。。。

1.3 MySQL管理工具程式

。。。。

1.4 MySQL 程式開發工具

。。。。

詳情: https://dev.mysql.com/doc/refman/5.7/en/programs-overview.html

2、配置檔案

除了可以直接在命令列中指定選項,大多數 MySQL 程式可以從配置檔案中讀取啟動選項。

2.1 配置檔案位置 和 讀取順序

在 Windows 系統中,配置檔案讀取順序:

File Name Purpose
%WINDIR%\my.ini, %WINDIR%\my.cnf 全域性選項
C:\my.ini, C:\my.cnf 全域性選項
BASEDIR\my.ini, BASEDIR\my.cnf 全域性選項
defaults-extra-file 用--defaults-extra-file指定的檔案(如果有)
%APPDATA%\MySQL.mylogin.cnf Login path options (clients only)

%WINDIR%: Windows 目錄的位置,通常是C:\WINDOWS。
%APPDATA%:Windows 應用程式資料目錄。
BASEDIR :MySQL 基本安裝目錄。

MySQL 從 上述表的順序依次讀取配置檔案,在後面的配置項會覆蓋之前的配置。

在 Unix 和類似 Unix 的系統上讀取的選項檔案

File Name Purpose
/etc/my.cnf Global options
/etc/mysql/my.cnf Global options
SYSCONFDIR/my.cnf Global options
$MYSQL_HOME/my.cnf 伺服器特定的選項(僅伺服器)
defaults-extra-file 用--defaults-extra-file指定的檔案(如果有)
~/.my.cnf User-specific options
~/.mylogin.cnf 使用者特定的登入路徑選項(僅限 Client 端)

~:當前使用者 home 目錄。
SYSCONFDIR :在構建 MySQL 時使用 CMake 的SYSCONFDIR選項指定的目錄,預設情況下,這是位於內建安裝目錄下的etc目錄。
MYSQL_HOME:是一個環境變數,通常設定為 BASEDIR。如果未設定MYSQL_HOME,且使用mysqld_safe程式啟動伺服器,則mysqld_safe將其設定為 MySQL 基本安裝目錄* BASEDIR *
DATADIR :通常是/usr/local/mysql/data,儘管這可能因平臺或安裝方法而異。該值是編譯 MySQL 時內建的資料目錄位置,而不是mysqld啟動時使用--datadir選項指定的位置。在執行時使用--datadir不會影響伺服器在處理任何選項之前在何處查詢其讀取的選項檔案。

.mylogin.cnf,是使用mysql_config_editor建立的,並且加密。

MySQL 從 上述表的順序依次讀取配置檔案,在後面的配置項會覆蓋之前的配置。

2.2 配置檔案語法

1) 配置檔案指定選項的語法和在命令列中指定選項類似,只是在配置檔案中,不需要選項前面的虛線橫槓(--),且一行一個配置項
如 在命令列中,--host=localhost , 則在配置檔案中 host=localhost
2) 註釋, 使用 # 或 ;

# 這是註釋
; 這也是註釋

3)[group]
group 是要為其設定選項的程式或組的名稱。在之後的行中,所有選項設定都將應用於該組,直到定義另一組設定或檔案的末尾。選項組名稱不區分大小寫。

[myslqd]
basedir = /usr/local/mysql
datadir = /var/mysql/data
port = 3306

[client]
port=3306
socket=/tmp/mysql.sock

[mysqldump]
quick

[mysql]
no-auto-rehash
connect_timeout=2

client 是指所有的客戶端程式

在配置檔案中選項 = 前後可以有空格,這是在命令列中不能的。
如果設定項的值有字元‘#’ ,需要使用引號包圍,單引號和雙引號 都可以
可以在選項值中使用轉義序列\b,\t,\n,\r,\和\s來 表示退格符,製表符,換行符,回車符,反斜槓和空格字元。

4)使用 !include / !includedir 匯入配置
在 配置檔案中可以 匯入其他配置檔案的配置

# 匯入配置檔案
!include /home/mydir/myopt.cnf 

# 搜尋指定目錄下的 配置檔案,如果有多個配置檔案,讀取順序不能保證一致
!includedir /home/mydir

被匯入的配置檔案和正常的 配置檔案一樣,也需要 [group]

https://dev.mysql.com/doc/refman/5.7/en/option-files.html
客戶端 mysql 的 選項 https://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html