【MySQL】—— MySQL命令行客户端介绍

news2024/12/22 11:13:56

目录

(一)mysql客户端简介

(二)mysql客户端选项

2.1 指定选项的方式

2.2 mysql 客户端命令常用选项

2.3 在命令行中使用选项 

(三)选项(配置)文件

3.1 使用方法

3.2 选项文件位置及加载顺序

3.2.1 在Windows系统读取选项文件

3.2.2 在Unix和Linux系统上读取的选项文件 

3.3 选项文件语法

3.4 案例:设置客户端全局编码格式

(四)mysql客户端命令

(五)从.sql文件执行SQL语句 

5.1 使用source命令导入

5.2 使用mysql客户端导入


(一)mysql客户端简介

mysql是⼀个简单的SQLshell,可以输入命令和执行SQL语句,当执行SQL语句时,查询结果以 ASCII 表格式显示

mysql的基本使用非常简单,回顾⼀下连接数据库的⽅式,打开终端并输入以下命令:

#连接MySQL服务器,⻓选项格式
mysql --user=user_name

#短选项格式
mysql -u user_name--password -p [db_name]

#输⼊密码
Enter password: your_password

(二)mysql客户端选项

2.1 指定选项的方式

指定选项的方式

  • 在mysql后面的命令行中列出选项
  • 在mysql后⾯指定配置文件的路径,以便在程序启动时读取配置文件中的选项
  • 使用环境变量中的选项

2.2 mysql 客户端命令常用选项

 【说明】如果选项的值中包含空格,那么值需要包含在双引号中


2.3 在命令行中使用选项 

命令行中指定选项遵循以下规则:

  • 选项应在程序名之后给出
  • 选项以单破折号" "或双破折号"-- "号开头,- 表示短格式- -表示⻓格式,例如:-?和 --help 都表示MySQL程序显表他的帮助消息
 mysql -?
 mysql --help
  • 选项名称区分大小写。-v 和-V 都是合法的,但含义不同,它们分别是--verbose version 选项的相应缩写形式
# 以下两个等价
mysqld --verbose --help
mysqld -v -?

# 以下两个等价
mysql --version 
mysql -V
  • 某些选项需要在后面指定⼀个值。例如, 客户端程序指定MySQL服务器主机
mysql -h 127.0.0.1
msyql --host=127.0.0.1
  • 对于带值的长格式选项,通常用 = 符号分隔选项名称和值。对于带值的短选项,选项值可以紧跟在选项之后,也可以用空格隔开,例如:--host= 127.0.0.1 、-h127.0.0.1 和-h 127.0.0.1 是等价的。但是对于密码选项的短格式,如果要指定密码,选项与值之间不能有空 格,如下所示:
mysql -ptest  # test表⽰密码,但没有指定要访问的数据库
mysql -p test # test 表⽰指定了访问的数据库,但没有指定密码

 【说明】在命令行中,第⼀个不带破折号的值被解析为要访问的数据库名,所以--database 选项⼀般可以省略-


  • 在选项名称中,破折号( - )和下划线( _ )在大多数情况下可以互换使用,但前导破折号不能转 为下划线,例如:--skip-grant-tables--skip_grant_tables 是等价的。
  • 对于采用数值的选项,该值可以带有后缀 K , M 或 G 以指⽰乘数1024、1024^2或1024^3,例 如,以下命令告诉mysqladmin对服务器执行1024次ping,每次ping之间休眠3秒 
 mysqladmin --count=1K --sleep=3 ping -uroot -p
  • 在命令行中包含空格的选项值必须⽤引号引起来。例如,--execute (or-e )选项与mysql⼀ 起使用时,表示将⼀个或多个SQL语句发送给服务器执行并显示结果
mysql -u root -p -e "SELECT VERSION();SELECT NOW();"


(三)选项(配置)文件

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


3.1 使用方法

选项 配置--defaults-file 可以指定要使用的选项⽂件,客户端程序会读取并应用选项文件中的相关.

# Linux
mysql --defaults-file=/etc/mysql/my.cnf -uroot -p

# windows下
mysql "--defaults-file=C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" -uroot -p

3.2 选项文件位置及加载顺序

MySQL按以下表格中的顺序查找并读取选项⽂件。如果文件不存在则需要手动创建。 读取顺序从上到下,后读取的文件中配置的选项优先级越高。

3.2.1 在Windows系统读取选项文件

  • %WINDIR% 表示Windows目录的位置,可以通过命令查看 
C:\Users\bit>echo %WINDIR%

# 以下是结果
C:\Windows
  • BASEDIR 表示MySQL的安装目录
C:\Program Files\MySQL\MySQL Server 5.7
  • %APPDATA% 表示应用程序数据的目录
# 以下是结果
C:\Users\bit\AppData\Roaming
  • DATADIR 代表MySQL数据目录
C:\ProgramData\MySQL\MySQL Server 5.7

 【说明】使用MySQLInstaller安装MySQL成功后, my.ini 默认在该目录下。


3.2.2 在Unix和Linux系统上读取的选项文件 

  • ~ 表示当前⽤⼾的主目录
  • MYSQL_HOME 是设置的环境变量路径
  • DATADIR 代表MySQL数据目录

mysqld-auto.cnf的优先级最⾼ For the server, one exception applies: The mysqld-auto.cnf option file in the data directory is processed last, so it takes precedence even over command-line options


3.3 选项文件语法

运行MySQL程序时在命令行上指定的任何⻓选项都可以在选项文件中指定,要获取选项列表可以使用如下命令:

# 客⼾端程序
mysql --help

# 服务端程序
mysqld --verbose --help

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

  • --quick 和 -host=127.0.0.1 在选项⽂件中应表示成 quick 和 host=127.0.0.1

选项文件中的空行会被忽略。非空行可以采用以下形式:

  • #comment , ; comment  注释行以 # 或 ; 开,注释可以从⼀行的中间开始
  • [ group ] 设置选项的程序或组的名称,不区分大小写。如果选项组名称与程序名称相同,则组中的选项专门应用于该程序,例如, [mysqld] 和 [mysql] 组分别适用于mysqld服务端程序和 mysql客户端程序
  • op t_name 相当于命令行上的选项名
  • op t_name = value 选项名对应的值,可以使⽤转义序列 \b , \t , \n , \r , \\ 和 \s 来表示退格符、制表符、换行符、回车符、反斜杠和空格字符

1. 选项名称和值中的前导和尾随空格会自动删除

2. 在windows系统中设置路径应该使用转义字符
 

 basedir= "C:\\Program Files\\MySQL\\MySQL Server 5.7"

# 或

basedir= "C:\\Program Files\\MySQL\\MySQL Server 5.7"

 [client] MySQL发⾏版中所有客户端程序都会读取并应用这个组下的选项(除了mysqld), 在这个组下可以指定适用于所有客户端程序的通用选项,例如配置用户名和密码(但要确保只有自己才可以访问这个文件以防止密码泄漏)


可以通过 [ 客户端程序名 ] 的形式为不同的客户端程序指定选项,例如 mysql程序时会读取并应用该组下的配置,如果选项名与 [mysql] ,当运行 [client] 重复, [client] 中的选项将会被覆盖 

为特定MySQL版本设置选项可以使用

在选项文件中使用 [mysqld-5.7] 、 [mysqld-8.0] 的组名 !include 指令来包含其他选项文件,例如: /home/mydir/myopt.cnf

在选项文件使用 ! include !includedir 指令来搜索指定目录中的其他选项文件,例 如: ! include /home/mydir ,但不保证目录中选项文件的读取顺序 

 【说明】

1. !includedir 在Unix和Linux操作系统中会搜索指定目录下任何以 在Windows中,会搜索指定目录下任何以 .cnf 为后缀的文件. .ini 或 .cnf 为后缀的⽂件

2. 只会读取包含⽂件中当前客户端的组配置,例如当前运行的是mysql程序,那么只会读取 [mysql]组中的选项配置 

在Windows中请确保在配置文件的最后⼀行加⼀个换行符,否则该行将被忽略


3.4 案例:设置客户端全局编码格式

在Linux下编辑全局配置文件默认位置 /etc/mysql/my.cnf 。在已有内容下方输入相应的配置,我们要为客户端设置全局的编码格式为utf8mb4,那么在 [client] 节点下指定相应的选项即可

[client]   # 所有客⼾端程序者会读取这个节点下的配置信息   
                   
default-character-set=utf8mb4   #指定编码格式为utf8mb4


(四)mysql客户端命令

使用mysql客户端程序连接到数据库服务器之后,可以发送SQL语句到服务器执⾏,并以";"(分 号)、\g 或\G 结束

 【说明】

1. ; 与 \g 结束表示以表格形式展示结果

2. \G 结束表示以行形式展示结果

3. 如果当前已经输入了⼀部分SQL语句想重新输入可以输入 Control+C 中断当前输入

在当前模式下,mysql还有⼀组自己的命令,可以输入  help or \h 查看命令列表


使用 help contents命令可以查看关于MySQL数据库使用的具体帮助,包括用户管理、SQL语法、 数据类型、组件等相关内容列表


通过help contents中的具体条目查看介绍,例如:help Data Types 


(五)从.sql文件执行SQL语句 

5.1 使用source命令导入

有时候我们需要从.sql⽂件执行⼀些SQL语句,比如要把⼀个数据库从⼀台服务器A复制到另⼀台服务 器B上,那么可以先从服务器A导出数据到.sql文件,然后在服务器B执行这个.sql⽂件,在上述, 用help命令查看命令列表,可以看到有⼀个source命令如下所示:

下⾯我们演示⼀下source命令的使用方法

  • 1. 准备要执行的.sql文件,名为 test_db.sql,内容如下: 

classes 表: 


 course 表:

 


  •  2. 确定.sql文件的绝对路径:/home/zp/database/test_db.sql
ll /home/zp/database/test_db.sql

  •  3. 连接数据库查看已有数据库
show databases;

  • 4. 使用source命令执行.sql文件的SQL语句
 source /home/zp/database/test_db.sql

  • 5. 查看数据库并查询数据,验证导入是否成功


5.2 使用mysql客户端导入

  • 直接使用mysql客户端程序导入.sql⽂件并执行相应的SQL语句,可以使用以下命令
mysql db_name < text_file  # 在指定的数据库下执⾏ SQL, 前提是数据库必须提前建⽴好

mysql < text_file # 不指定数据库.sql中必须有USE [database_name],来指定要操作的数据库
 
  • 登录数据库并验证是否导入成功 可以根据实际需要选择导入.sql的方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2119491.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql——关于表的增删改查(CRUD)

目录 比较运算符和逻辑运算符图 一、增加&#xff08;Create&#xff09; 1、全列插入 2、指定列插入 二、查询&#xff08;Retrieve&#xff09; 1、全列查询 2、指定列查询 3、别名&#xff08;as&#xff09; 4、表达式查询 5、去重&#xff08;distinct&#xff09; 6、…

全网最适合入门的面向对象编程教程:46 Python函数方法与接口-函数与事件驱动框架

全网最适合入门的面向对象编程教程&#xff1a;46 Python 函数方法与接口-函数与事件驱动框架 摘要&#xff1a; 函数是 Python 中的一等公民,是一种可重用的代码块,用于封装特定的逻辑&#xff1b;事件驱动框架是一种编程模式&#xff0c;它将程序的控制流转移给外部事件,如用…

Simulink库模块作用及简单应用(一)

01--Data Store Memory模块 数据存储模块一般是和数据写入还有数据访问一同搭配使用的 可以从帮助文档看到该模型如下的关键使用信息&#xff1a; Data Store Memory 模块定义并初始化一个命名的共享数据存储&#xff0c;即一个内存区域&#xff0c;供指定相同数据存储名称的…

客户端负载均衡Ribbon 小实例

文章目录 一&#xff0c;概述二&#xff0c;实现过程三&#xff0c;项目源码1. 源码放送&#xff1a;2. 部署方式 四&#xff0c;功能演示五&#xff0c;其他 一&#xff0c;概述 一般来说&#xff0c;提到负载均衡&#xff0c;大家一般很容易想到浏览器 -> NGINX -> 反…

Java 每日一刊(第一期):Java 的历史

文章目录 Java 的起源与诞生Java 的早期发展&#xff08;1995-2000&#xff09;Java 的转型与扩展&#xff08;2000-2010&#xff09;Oracle 时代的 Java&#xff08;2010-至今&#xff09;本期小知识 Java 的起源与诞生 Java 的历史可以追溯到 20 世纪 90 年代&#xff0c;由 …

【数据结构(初阶)】——二叉树

【数据结构】——二叉树 文章目录 【数据结构】——二叉树前言1. 树的概念及结构1.1 树的概念1.2 树的结构 2. 二叉树的概念及结构2.1 二叉树的概念2.2 二叉树的结构2.3 二叉树的性质 3. 二叉树顺序结构及概念3.1 二叉树的顺序结构3.2 堆的概念及结构3.3 堆的实现3.3.1 堆的基本…

【C++ Qt day9】

2、将day1做的登录界面升级优化【资源文件的添加】 3、 使用手动连接&#xff0c;将登录框中的取消按钮使用第2种方式的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上…

黑马点评16——多级缓存-JVM进程缓存

文章目录 什么是多级缓存导入商品案例初识Caffeine实现进程缓存 什么是多级缓存 但是现在的nginx的压力太大了&#xff0c;所以nginx也要部署成集群 当然我们的redis、tomcat都可以部署成集群 导入商品案例 我们在docker中开启了一个mysql的数据库&#xff0c;里面配置了一个…

C和指针:高级指针话题

进一步探讨指向指针的指针 int i; int *pi; int **ppi; 这些声明在内存中创建了下列变量。如果它们是自动变量&#xff0c;无法猜测它们的初始值。 二级指针指向一级指针 ppi&pi; *ppi&i; ia; *pia; **ppia; 为什么要使用指针&#xff1f; 因为函数传参使用值传递不会…

[C#学习笔记]接口的特性与用法

视频地址&#xff1a;一期视频看透C#接口的全部特性及用法_哔哩哔哩_bilibili 强烈推荐学习C#和WPF的朋友关注此UP&#xff0c;知识点巨多&#xff0c;讲解透彻&#xff01; 一、总览 public interface IOverall {/// <summary>/// 最普通的方法/// </summary>v…

[数据集][目标检测]打电话检测数据集VOC+YOLO格式8985张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;8985 标注数量(xml文件个数)&#xff1a;8985 标注数量(txt文件个数)&#xff1a;8985 标注…

【C++】C++入门基础,详细介绍命名空间,缺省参数,函数重载,引用,内联函数等

目录 1. 命名空间 1.1 使用命名空间的目的 1.2 命名空间定义 1.3 命名空间使用 2. 缺省参数 2.1 缺省参数概念 2.2 缺省参数分类 2.3 实际案例 2.4 注意事项 3. 函数重载 3.1 函数重载概念 3.2 函数重载原理 4. 引用 4.1 引用的概念 4.2 引用的特性 4.3 使用…

JavaScript案例---求质数

n等于19&#xff0c;是质数 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"wid…

OpenAI Gymnasium, are there any libraries with algorithms supporting it?

题意&#xff1a;对于OpenAI Gym&#xff0c;是否有支持它的算法库&#xff1f; 问题背景&#xff1a; OpenAI has released a new library called Gymnasium which is supposed to replace the Gym library. There are many libraries with implamentations of RL algorithms…

机械学习—零基础学习日志(Python做数据分析02)

现在开始使用Python尝试做数据分析。具体参考的网址链接放在了文章末尾。 引言 我通过学习《利用Python进行数据分析》这本书来尝试使用Python做数据分析。书里让下载&#xff0c;anaconda&#xff0c;使用Jupyter来写代码&#xff0c;只是下载一个anaconda的确有点费时间&am…

RabbitMQ 04 集群,用于提高系统性能

01.背景 02.单个节点的MQ会持久化的记录什么数据 03.集群情况下的MQ会持久化的记录什么数据 04.集群中的队列 单个节点的队列&#xff1a; 集群的队列&#xff1a; 05. 两个原因&#xff1a; 这样做带来的好处&#xff1a; 05.集群的交换机 交换机的本质 交换机在集…

Unity TextMeshPro 设置竖排

默认竖排是这样的 但是我们要的竖排效果并不是这样我们要是竖排连续的根据文本限制来进行换行 第一步我们先设置文本的旋转Z轴为90如下图 然后我们给文本加一个Tag <rotate270> 如下图 但是这个效果还是不是我们想要的效果我们可以使用TexeMeshPro提供的一个选项EnableR…

97.游戏的启动与多开-共享内存多开检测

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;易道云信息技术研究院 上一个内容&#xff1a;96.游戏的启动与多开-窗口多开检测与破解 以 96.游戏的启动与多开-窗口多开检测与破解 …

Word文档的读取(1)

读取一个班的答题卡 解决方法&#xff1a; 导入os模块后&#xff0c;将乔老师的文件夹路径 /Users/qiao/answerKey 赋值给变量allKeyPath。使用os.listdir()函数获取该路径下所有的答题卡名称列表&#xff0c;并赋值给变量allItems。最后使用for循环遍历所有答题卡&#xff0c…

【知识小妙招来喽!】文件防泄密措施有哪些?这6个有效方法防止企业员工泄密!

在信息高度发达的时代&#xff0c;企业数据的安全性和保密性成为了企业运营中不可忽视的重要环节。 一旦敏感文件被泄露&#xff0c;不仅可能导致商业机密被窃取&#xff0c;还可能给企业带来重大的经济损失和声誉损害。 因此&#xff0c;采取一系列有效的文件防泄密措施&…