如果您负责管理数据库服务器,可能需要定期执行查询并仔细检查其结果。虽然您可以在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@localhost ~/www.linuxidc.com]$ mysql -u root -p -e "use linuxidc_db; desc linuxceshi;" | tee linuxidc_chaxun.txt

使用cat命令可以查看保存的查询结果:
[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任务,或者更轻松地完成这些任务。










