1.4 启动MySQL客户端程序

成功启动MySQL服务器程序之后,就可以接着启动客户端程序来连接这个服务器。 bin 目录下有许多客户端程序,比方说 mysqladmin 、 mysqldump 、 mysqlcheck 等等。这里我们重点要关注的是可执行文件 mysql ,通过这个可执行文件可以让我们和服务器程序进程交互,也就是发送请求,接收服务器的处理结果。启动这个可执行文件时一般需要一些参数,格式如下:

mysql -h主机名 -u用户名 -p密码

各个参数的意义如下: |参数名|含义| |:--:|:--| | -h |表示服务器进程所在计算机的域名或者IP地址,如果服务器进程就运行在本机的话,可以省略这个参数,或者填 localhost 或者 127.0.0.1 。也可以写作 --host=主机名 的形式。| | -u |表示用户名。也可以写作 --user=用户名 的形式。| | -p |表示密码。也可以写作 --password=密码 的形式。|

如果我们想断开客户端与服务器的连接并且关闭客户端的话,可以在 mysql> 提示符后输入下边任意一个命令:

1. quit

2. exit

3. \q

比如我们输入 quit 试试:

mysql> quit
Bye

输出了 Bye 说明客户端程序已经关掉了。注意注意注意,这是关闭客户端程序的方式,不是关闭服务器程序的方式。

1.4.1 连接注意事项

最好不要在一行命令中输入密码。在执行 mysql 连接服务器的时候可以不显式的写出密码,就像这样:

mysql -hlocalhost -uroot -p

点击回车之后才会提示你输入密码:

Enter password:

mysql 的各个参数的摆放顺序没有硬性规定,也就是说你也可以这么写:

 mysql -p -u root -h localhost

如果你的服务器和客户端安装在同一台机器上, -h 参数可以省略,就像这样:

 mysql -u root -p 

如果你使用的是类 UNIX 系统,并且省略 -u 参数后,会把你登陆操作系统的用户名当作 MySQL 的用户名去处理。

1.5 客户端与服务器连接的过程

1.5.1 TCP/IP

真实环境中,数据库服务器进程和客户端进程可能运行在不同的主机中,它们之间必须通过网络来进行通讯。MySQL 采用 TCP 作为服务器和客户端之间的网络通信协议。在网络环境下,每台计算机都有一个唯一的 IP地址 ,如果某个进程有需要采用 TCP 协议进行网络通信方面的需求,可以向操作系统申请一个 端口号 ,这是一个整数值,它的取值范围是 0~65535 。这样在网络中的其他进程就可以通过 IP地址 + 端口号 的方式来与这个进程连接,这样进程之间就可以通过网络进行通信了。

MySQL 服务器启动的时候会默认申请 3306 端口号,之后就在这个端口号上等待客户端进程进行连接,用书面一点的话来说, MySQL 服务器会默认监听 3306 端口。

如果 3306 端口号已经被别的进程占用了或者我们单纯的想自定义该数据库实例监听的端口号,那我们可以在启动服务器程序的命令行里添加 -P 参数来明确指定一下端口号,比如这样:

mysqld -P3307

这样 MySQL 服务器在启动时就会去监听我们指定的端口号 3307 。

如果客户端进程想要使用 TCP/IP 网络来连接到服务器进程,比如我们在使用 mysql 来启动客户端程序时,在 -h 参数后必须跟随 IP地址 来作为需要连接的服务器进程所在主机的主机名,如果客户端进程和服务器进程在一台计算机中的话,我们可以使用 127.0.0.1 来代表本机的 IP地址 。另外,如果服务器进程监听的端口号不是默认的 3306 ,我们也可以在使用 mysql 启动客户端程序时使用 -P 参数(大写的 P ,小写的 p 是用来指定密码的)来指定需要连接到的端口号。比如我们现在已经在本机启动了服务器进程,监听的端口号为 3307 ,那我们启动客户端程序时可以这样写:

mysql -h127.0.0.1 -uroot -P3307 -p

在启动服务器程序的命令 mysqld 和启动客户端程序的命令 mysql 后边都可以使用 -P 参数。

1.5.2 命名管道和共享内存

客户端进程和服务器进程之间可以考虑使用 命名管道 或 共享内存 进行通信。不过启用这些通信方式的时候需要在启动服务器程序和客户端程序时添加一些参数:

使用 命名管道 来进行进程间通信

需要在启动服务器程序的命令中加上 --enable-named-pipe 参数,然后在启动客户端程序的命令中加入 --pipe 或者 --protocol=pipe 参数。

使用 共享内存 来进行进程间通信

需要在启动服务器程序的命令中加上 --shared-memory 参数,在成功启动服务器后, 共享内存 便成为本地客户端程序的默认连接方式,不过我们也可以在启动客户端程序的命令中加入 --protocol=memory 参数来显式的指定使用共享内存进行通信。

不过需要注意的是,使用 共享内存 的方式进行通信的服务器进程和客户端进程必须在同一台 Windows 主机中。

1.5.3 Unix域套接字文件

如果我们的服务器进程和客户端进程都运行在同一台操作系统为类 Unix 的机器上的话,我们可以使用 Unix域套接字文件 来进行进程间通信。如果我们在启动客户端程序的时候指定的主机名为 localhost ,或者指定了 --protocol=socket 的启动参数,那服务器程序和客户端程序之间就可以通过 Unix 域套接字文件来进行通信了。MySQL 服务器程序默认监听的 Unix 域套接字文件路径为 /tmp/mysql.sock ,客户端程序也默认连接到这个Unix 域套接字文件。如果我们想改变这个默认路径,可以在启动服务器程序时指定 socket 参数,就像这样:

mysqld --socket=/tmp/a.txt

这样服务器启动后便会监听 /tmp/a.txt 。在服务器改变了默认的 UNIX 域套接字文件后,如果客户端程序想通过 UNIX 域套接字文件进行通信的话,也需要显式的指定连接到的 UNIX 域套接字文件路径,就像这样:

mysql -hlocalhost -uroot --socket=/tmp/a.txt -p

这样该客户端进程和服务器进程就可以通过路径为 /tmp/a.txt 的 Unix 域套接字文件进行通信了。

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

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

相关文章

mysql数据库root密码遗忘后,修改root密码

目录 方式一: 方式二: 2.1 也可以像我这样,普通用户登录进去后 2.2 执行如下命令,将已知的user1的加密密文更新到root中 2.3 查询数据库 2.4 用root用户登录 2.5 登录正常,但这会root登录进去后,无法…

2023深圳智博会,正运动助力智能装备“更快更准”更智能!

■展会名称: 2023 深圳国际智能装备产业博览会暨深圳国际电子装备产业博览会(以下简称“EeIE 智博会”) ■展会日期 2023年8月29日-31日 ■展馆地点 深圳国际会展中心(宝安新馆) ■展位号 3B030 正运动技术,作为国内领先的…

smartbi token回调获取登录凭证漏洞

前段时间,Smartbi官方修复了一处权限绕过漏洞。未经授权的攻击者可利用该漏洞,获取管理员token,完全接管管理员权限。于是研究了下相关补丁并进行分析。 0x01分析结果 依据补丁分析,得到如下漏洞复现步骤 第一步,设…

网络安全---负载均衡案例

一、首先环境配置 1.上传文件并解压 2.进入目录下 为了方便解释,我们只用两个节点,启动之后,大家可以看到有 3 个容器(可想像成有 3 台服务器就成)。 二、使用蚁剑去连接 因为两台节点都在相同的位置存在 ant.jsp&…

《Effective C++中文版,第三版》读书笔记5

条款26:尽可能延后变量定义式出现时间 原因: ​ 只要你定义了一个变量而其类型带有一个构造和一个析构,程序控制流到达其定义时有构造成本,控制流离开该变量的作用域时有析构成本 尽可能延后 ​ 不只因该延后变量的定义&#…

CAD泰森多边形框架3D插件

插件介绍 CAD泰森多边形框架3D插件可用于在AutoCAD软件内生成三维Voronoi框架结构实体模型,适用于多孔Voronoi科研论文渲染绘图、Voronoi框架有限元建模、Voronoi空间结构优化等方面的应用。 使用说明 插件可设置生成的几何尺寸、晶格尺寸及边框直径等信息。 插…

Java中字符串拼写常用方法和高级技巧,举例并说明,加上注释和实际运行效果说明

Java中字符串拼写常用方法和高级技巧,举例并说明,加上注释和实际运行效果说明 目录 1、使用""操作符拼接字符串 2、使用StringBuilder类拼接字符串 3、使用String.format()方法格式化字符串 4、使用String.concat()方法拼接字符串 5、使…

SpringBoot上传文件的实现与优化

一、什么是文件上传? 文件上传是指客户端将本地的文件通过HTTP协议发送到服务器端的过程。文件上传是Web开发中常见的功能之一,例如用户可以上传头像、照片、视频、文档等各种类型的文件。文件上传涉及到客户端和服务器端的交互,需要考虑文件…

学习 Java 报表技术导入 Maven 依赖出错:jacob 无法下载、jasperreports 依赖错误

发生缘由 最近在做一个可视化项目,用到了 Java 报表技术。在跟着「黑马」课程导入 pom.xml 文件的时候提示下载依赖错误。 com.jacob 包无法下载Failed to read artifact descriptor for com.lowagie:itext:jar:2.1.7.js6 运行环境 电脑系统版本:Win…

发现一种增加在 GitHub 曝光量的方法,已举报

今天偶然看到一种增加项目和个人在 GitHub 曝光量的方法,但感觉无法赞同这种做法,已经向 GitHub 官方举报。 具体怎么回事呢?我上周在 Vim 插件大佬 tpope 的一个项目提了个 Issue,但一周过去了,大佬也没有回应&#x…

【笔记】岂不怀归:三和青年调查

三和青年的遭遇绝非孤例,他们是中国现代化和城市化进程中一些难以被城市容纳的群体的缩影。三和青年的“后备军”,是整整一代没有知识与技能的农村青年。本书对三和青年抱以人道主义的关怀与同情,并鼓励各界关注社会发展过程中被抛下的那一群…

CSDN编程题-每日一练(2023-08-25)

CSDN编程题-每日一练(2023-08-25) 一、题目名称:影分身二、题目名称:小鱼的航程(改进版)三、题目名称:排查网络故障 一、题目名称:影分身 时间限制:1000ms内存限制:256M 题目描述&am…

Git gui教程---第八篇 Git gui的使用 创建一个分支

一般情况下一个主分支下代码稳定的情况下会新建出一个分支,然后在分支上修改,修改完成稳定后再合并到主分支上。 或者几个人合作写一份代码,每个人各一个分支,测试稳定再合并到主分支上。 在git gui选择菜单栏“分支”&#xff0…

蓝桥杯上岸每日N题 (交换瓶子)

大家好 我是寸铁 希望这篇题解对你有用,麻烦动动手指点个赞或关注,感谢您的关注 题目描述 有 N 个瓶子,编号 1∼N,放在架子上。 比如有 5 个瓶子: 2 1 3 5 4 要求每次拿起 2 个瓶子,交换它们的位置。 …

android adb自动连接手机安装apk bat

1.新建bat文件adb echo off:apk文件名称 在setting.txt获取 set apkFileName"":设置文件 set settingFileE:\apk\bat\setting.txt:启动页面 applicationid/启动页面路径 set startActivitycom.aaa.aaa/com.aaa.aaa.ui.common.SplashActivity:读取settingFile第一行的…

【Java基础】 - 常用注解@SuppressWarings

Java基础 - 常用注解SuppressWarings 文章目录 Java基础 - 常用注解SuppressWarings一、概述二、 SuppressWarings注解使用2.1. 抑制单类型的警告2.2. 抑制多类型的警告2.3. 抑制所有类型的警告 四、注解目标五、抑制警告的关键字 一、概述 java.lang.SuppressWarnings是J2SE5…

什么是代码审计?怎么做?

代码审计是对源代码进行人工或自动化审查,以查找潜在的安全漏洞和隐患。在信息安全测试中,代码审计是非常重要的一环。它主要包括以下几个方面: 1.变量验证:检查代码是否对变量进行验证,防止变量被恶意用户篡改。 2.…

板卡设计+硬件每日学习十个知识点(44)23.8.24 (检测单元设计,接口部分设计,板卡电源输入设计,电源检测电路)

文章目录 1.检测单元介绍(使用GD32单片机)2.GD32的最小系统板3.GD32的温度监测4.GD32的电压监测和电流监测5.GD32的布线6.接口部分设计7.板卡电源输入设计8.电源检测电路 1.检测单元介绍(使用GD32单片机) 答: 首先要为…

Forrester首次面向中国的开源报告:阿里云在云原生领域开源布局最全面

Forrester 于近期发布了《Navigate The Cloud-Native Ecosystem In China, 2023》,报告概述了中国云原生领域的开源项目对构建云原生生态的促进作用,这些开源项目正深刻影响着企业的技术决策者以何种策略拥抱云原生这一现代 IT 基础设施的核心。 报告表…

很干的 Nginx

🎨 前言 本篇文章有些概念性的东西,是结合自己的理解表达出来的,可能有些理解不到位的地方。希望多多指教,谢谢大家。 红包献上 🧧🧧🧧🧧🧧🧧🧧…