從Linux命令行直接執行MySQL/MariaDB查詢
如果您負責管理數據庫服務器,則可能需要不時運行查詢并仔細檢查它。雖然您可以從MySQL/MariaDB Shell執行此操作,但此技巧將使您可以直接使用Linux命令行執行MySQL/MariaDB查詢,并將輸出保存到文件中以供以后檢查(這在查詢返回時特別有用。很多記錄)。讓我們來看一些直接從命令行運行查詢的簡單示例,然后再轉向更高級的查詢。要查看服務器上的所有數據庫,可以發出以下命令:
- [linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p -e "show databases;"
- +--------------------+
- | Database |
- +--------------------+
- | idc_db |
- | information_schema |
- | linuxidc_db |
- | mysql |
- | performance_schema |
- | xxx_db |
- +--------------------+
接下來,要在數據庫linuxidc_db 中創建一個名為linuxceshi的數據庫表,請運行以下命令:
- [linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p -e "USE linuxidc_db ; CREATE TABLE linuxceshi(idc_id INT NOT NULL AUTO_INCREMENT, idc_title VARCHAR(100) NOT NULL, idc_author VARCHAR(40) NOT NULL, submissoin_date DATE, PRIMARY KEY (idc_id));"
查詢下表建好沒有
- [linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p -e "use linuxidc_db; desc linuxceshi;"
- +-----------------+--------------+------+-----+---------+----------------+
- | Field | Type | Null | Key | Default | Extra |
- +-----------------+--------------+------+-----+---------+----------------+
- | idc_id | int(11) | NO | PRI | NULL | auto_increment |
- | idc_title | varchar(100) | NO | | NULL | |
- | idc_author | varchar(40) | NO | | NULL | |
- | submissoin_date | date | YES | | NULL | |
- +-----------------+--------------+------+-----+---------+----------------+
我們將使用以下命令,并將輸出通過管道傳遞到tee命令,后跟要在其中存儲輸出的文件名。
為了進行說明,我們將使用一個名為linuxidc數據庫的linuxceshi表。請注意,系統將提示您輸入數據庫用戶的密碼:
- [linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p -e "use linuxidc_db; desc linuxceshi;" | tee linuxidc_chaxun.txt
借助cat命令查看查詢結果。
- [linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p -e "use linuxidc_db; desc linuxceshi;" | tee linuxidc_chaxun.txt
- Enter password:
- Field Type Null Key Default Extra
- idc_id int(11) NO PRI NULL auto_increment
- idc_title varchar(100) NO NULL
- idc_author varchar(40) NO NULL
- submissoin_date date YES NULL
- [linuxidc@localhost ~/www.linuxidc.com]$cat linuxidc_chaxun.txt
- Field Type Null Key Default Extra
- idc_id int(11) NO PRI NULL auto_increment
- idc_title varchar(100) NO NULL
- idc_author varchar(40) NO NULL
- submissoin_date date YES NULL
使用純文本文件的查詢結果,您可以使用其他命令行實用工具更輕松地處理記錄。
小結
本文已經分享了一點Linux技巧,作為系統管理員,您可以在自動執行日常Linux任務或更輕松地執行它們方面發現有用的信息。