当前位置: 首页 > news >正文

MySQL的命令行客户端

MySQL中的一些程序:

MySQL在安装完成的时候,一般都会包含如下程序:

在Linux系统下,通过/usr/bin目录下,可以通过命令查看:

 以下是常用的MySQL程序:

程序名作用

mysqld

MySQL的守护进程即MySQL服务器,mysqld是服务端的程序,需要使用mysql服务器mysqld一定要在运行状态
mysqlmysql是一个客户端程序,用于交互输入SQL语句或批处理模式从文件执行SQL的命令行工具
mysqlcheck用于检查,修复,分析和优化表的表客户端工具
mysqldump将MySQL数据库转储到SQL,文本或者XML文件中的客户端
mysqlimport将文本文件导入到表的客户端工具(备份和恢复
mysqladmin执行管理操作的客户端,例如创建或删除数据库,重新加载授权表,将表刷新到磁盘以及重新打开日志文件,mysqladmin还可以用于从服务器检索版本,进程和状态信息
mysqlshow显示数据库,表,列和索引信息的客户端
mysqldumpslow用于读取和汇总慢速查询日志内容的实用程序
mysqlbinlog从二进制日志中读取SQL语句的使用程序,mysqlbinlog文件中包含的已执行SQL语句的日志,可用于从崩溃中恢复数据
mysqlslap客户端负载工具,模拟多个客户端同时访问MySQL服务器,并报告每个阶段的使用时间。

MySQL命令行客户端:

MySQL客户端选项:
1.指定选项的方式:

1.在MySQL后面命令行中列出选项

2.在MySQL后面指定配置文件的路径,以便程序启动时读取配置文件中的选项。

3.使用环境变量中的选项

常用的选项如下:

选项--长格式短格式说明
--host-h

--host=host_name,-h host_name

连接到指定主机上的MySQL服务

--post-P

--port=port_num,-P port_num

TCP/IP连接使用的端口号

--user-u

--user=user_name,-u user_name

用于连接到MySQL服务器的用户名

--password-p

--password[=password],-p[password]

用于连接到MySQL服务器的密码,可选,如果没有给出,会提示用户输入。

--defaults-file

--defaults-file=file_name

使用指定的选项文件,如果该文件不存在,则会发生错误

--compress-C如果可能,压缩客户端和服务器之间传输的所有信息。
--protocol用于连接到服务器的传输协议,默认为TCP
--version-V显示版本信息并退出
--help-?显示帮助信息并退出

注意:如果选项的值包括空格,那么值必须包含在双引号中。

2.在命令行中使用选项:

2.1选项应该在程序名之后给出

2.1选项以单破折号"-",或者双破折号"--"开头,"-"表示短格式,"--"表示长格式,例如:-?和--help

都表示MySQL程序显示他的帮助消息。

mysql -?;

mysql --help;

 选项名称也区分大小写,-v和-V都是合法的,但是它们含义不同,分别表示为--verbose和--version选项的相应的缩写形式。

varbose选项:会显示更多的执行细节,例如SQL语句执行的状态,结果集的元数据。

version选项:会显示MySQL客户端的版本号,编译信息,发布日期等详细内容。

 某些选项后面需要指定一个值,例如:-h 127.0.0.1或者--host=127.0.0.1,表示向客户端程序指定MySQL服务器主机。

mysql  -h 127.0.0.1

mysql --host=127.0.0.1

 对于长格式选项,通常用=符号分隔选项名称和值,对于带值的短选项,选项值可以紧跟在选项之后,也可以通过空格隔开,但是对于密码选项的短格式,如果要指定密码,选项与值之间不能有空格。

mysql -ptest;test表示密码,但是没有标明具体想要访问的数据库

mysql -p test:这里test表示要访问的数据库,但没有写密码。

 在命令行中,第一个不带破折号的值被解析为要访问的数据库名字,所以--database一般可以省略。

我还可以mysql -u root lottery_system -p;这样写,有的人会问,不是说的第一个不带破折号的值被当成数据库吗,为什么root没有被当成数据库?

其实这是因为在选项中,选项+值是一组,-u是选项,而root是它的值。这是一组。

 在选项名称中,破折号(-)和下划线(_)大多数情况是可以互换使用的,但前导破折号不能转化为下划线,例如:--skip-grant-tables和--skip_grant_tables是等价的

对于采用数值的选项,数值后面还可以跟后缀K,M,G表示乘以1024,1024^2,1024^3。

最后再介绍一个选项:--execute(- e)选项与mysql一起使用时,表示将一个或多个sql语句发送给服务器并显示结果。

 选项(配置)文件:

大多数的MySQL程序可以从选项文件(配置文件)中读取启动选项,也可以在选项文件中指定常用选项,这样就不用每次运行程序时都在命令行中输入他们,大部分选项文件都是纯文本格式,可以使用任何文本编辑器创建

选项--defaults-file指定自定义的配置文件路径,客户端程序会读取应用许选项文件中的相关配置。

mysql是一个软连接,指向后面那个路径文件,但是最终的配置文件是mysql.cnf

mysql是一个客户端-服务端的程序,它既有客户端配置文件,也有服务端配置文件

客户端配置文件:

服务端配置文件: 

 虽然把客户端和服务端的配置文件都做了区分,但是我们一般不会分别在对应的配置文件中配置,而是把所有的配置文件都写在默认的配置文件中,便于维护和管理

 上面的my.cnf就是默认配置文件,但最终配置的是mysql.cnf,如果不指定配置文件路径,就会读取默认的配置文件。

选项文件的加载顺序:

mysql会按照下面的顺序查找并读取选项配置文件,如果不存在则需要手动创建。

在linux系统上面:

文件名说明
/etc/my.cnf全局
/etc/mysql/my.cnf全局
$MYSQL_HOME/my.cnf服务器待定选项(仅限服务器)
defaults-extra-file如果存在其他选项文件可以通过--defaults-extra-file选项指定
~/.my.cnf用户特定选项
~/.mylogin.cnf用户特定的登录路径选项(仅限客户端)
DATADIR/mysql-auto.cnf系统变量(仅限服务器)

读取顺序:从上到下,最上面的最先读取,最下面的最后读取。

优先级:最上面的优先级最低,最下面的优先级最高,因为后面读取的配置内容会覆盖之前读取的配置

--defaults-extra-file--defaults-file这两个有什么区别吗?

--defaults-extra-file:在默认的搜索路径之前,额外读取指定的配置文件,即先读取该参数指定的配置文件,然后读取默认搜索路径的配置文件。(默认搜索路径的配置文件会覆盖指定的配置文件的值)

--defaults-file:只读取指定的配置文件,忽略默认搜索路径下的所有其他配置文件

选项文件的语法:

选项文件中指定选项时,省略前两个前导破折号,并且选择每一行表示一个选项。

例如--quick和--host=127.0.0.1在选项文件中应表示成quick和host=127.0.0.1

选项文件中的空行会被忽略,非空行可以采取下面的任何形式:

#comment,;comment

注释是#或;开头,注释可以从中间一行开始

【group】节点

设置选项的程序或者组的名称,不区分大小写,如果选项组名称与程序名称相同,则组中选项就是专门针对应用于该程序。比如【mysqld】适用于mysqld服务端的程序,【mysql】适用于mysql客户端程序。

opt_name=value

选项名对应的值,可以只用转义序列\b,\t,\n,\r等来表示退格符,制表符,换行符,回车符。

 【client】这个节点可以被所有客户端程序访问,除了mysqld,我在client节点里配置了用户名和密码,这样就可以登录mysql不用输入密码。还设置了编码集

但是如果我后面又加入了【mysql】节点,那么当启动mysql的时候,还是需要输入密码,因为【mysql】的节点在【client】后面才访问,会覆盖【client】里面的值。

在选项文件中使用!include指令可以包含其他的选项文件,例如图里面第一二句。

后面的是一个目录文件,但不保证目录文件的读取顺序。

http://www.dtcms.com/a/295816.html

相关文章:

  • 探索双链表:C语言中的链式结构魔法
  • 光谱仪杂散光性能分析
  • 大疆无人机炸机后视频损坏的完美修复案例解析
  • uni-file-picker vue3二次封装(本地上传 + v-model)
  • Mysql命令show processlist
  • Linux基础服务(autofs和Samba)
  • 论文阅读:《针对多目标优化和应用的 NSGA-II 综述》一些关于优化算法的简介
  • OpenCV —— color_matrix_numpy_mat_reshape
  • 新mac电脑软件安装指南(前端开发用)
  • 解决http的web服务中与https服务交互的问题
  • 平时遇到的错误码及场景?404?400?502?都是什么场景下什么含义,该怎么做 ?
  • AI实践:Pydantic
  • 大模型Prompt优化工程
  • pdf文件的属性值怎么修改?修改PDF内部的属性创建时间和修改时间
  • Lua(垃圾回收)
  • omofun官网网站入口,动漫在线看|官方下载
  • AI服务器给一体成型电感带来多大的市场空间
  • 网络编程——聊天程序实现
  • FreeSWITCH 简单图形化界面45 - 收集打包的一些TTS
  • 复矩阵与共轭转置矩阵乘积及其平方根矩阵
  • 【建模与仿真】融合共现网络特征与知识增强语义梯度提升电子邮件分类
  • HttpServletRequest深度解析:Java Web开发的核心组件
  • LLM中的位置嵌入矩阵(Position Embedding Matrix)是什么
  • [语言模型训练]基于 PyTorch 的双向 LSTM 文本分类器实现:基于旅店的评论分类语言模型
  • LeetCode 2563.统计公平数对的数目
  • Edwards爱德华泵软件 支持nEXT85和nXDS系列泵,包括nXRi, nRVi和nXLi增强型 nEXT nXDS nXLi
  • 【自动化测试】JMeter+Jenkins自动化接口与性能测试环境部署指南
  • Java学习第七十部分——微服务架构
  • JavaWeb_原始项目初识(一)
  • ubuntu25.04+4070+cuda+docker安装