使用命令选项连接到MySQL服务器(参考MySQL官方文档)

使用命令选项连接到MySQL服务器(参考MySQL官方文档)
本文介绍如何使用命令行选项为MySQL或mysqldump等客户端指定如何建立到MySQL服务器的连接。
客户端程序要连接到MySQL服务器,必须使用正确的连接参数,例如服务器运行的主机名和MySQL帐户的用户名和密码。
每个连接参数都有一个默认值,但可以根据需要使用在命令行或选项文件中指定的程序选项覆盖默认值。
这里的示例使用mysql客户机程序,但原则适用于其他客户机,如
mysqldump, mysqladmin, or mysqlshow.

此命令调用mysql而不指定任何显式连接参数:
mysql

由于没有参数选项,因此应用默认值:

•默认主机名为localhost。在Unix上,这有一个特殊的含义,如后文所述。
•默认用户名是Windows上的ODBC或Unix上的Unix登录名。
•不发送密码,因为既不提供--password也不提供-p。
•对于mysql,第一个nonoption参数将作为默认数据库的名称。因为没有这样的参数,所以mysql不选择默认数据库。
要显式指定主机名和用户名以及密码,请在命令行上提供适当的选项。若要选择默认数据库,请添加数据库名称参数。示例:
mysql --host=localhost --user=myname --password=password mydb
mysql -h localhost -u myname -ppassword mydb

对于密码选项,密码值是可选的:
•如果使用--password或-p选项并指定密码值,则在--password=或-p及其后面的密码。
•如果使用--password或-p但未指定密码值,则客户端程序会提示您输入密码。输入密码时不显示密码。
这比在命令行上提供密码更安全,这可能会使系统中的其他用户通过执行ps等命令来查看密码行
•要显式指定没有密码,并且客户端程序不应提示输入密码,请使用--skip password选项。
如前所述,在命令行中包含密码值可能会带来安全风险。若要避免此风险,请指定--password或-p选项,而不指定以下任何密码值:
mysql --host=localhost --user=myname --password mydb
mysql -h localhost -u myname -p mydb

当--password或-p选项没有密码值时,客户机程序会打印一个提示并等待您输入密码。(在这些示例中,mydb不被解释为密码,因为它与前面的密码选项用空格分隔。)
在某些系统上,MySQL用来提示输入密码的库例程会自动将密码限制为8个字符。这个限制是系统库的属性,而不是MySQL。
在内部,MySQL对密码的长度没有任何限制。另一种解决方法是将MySQL密码更改为包含8个或更少字符的值,但这可能是不可接受的,因为较短的密码往往不太安全。
客户端程序确定要建立的连接类型,如下所示:
•如果未指定主机或主机为本地主机,则会发生到本地主机的连接:
•在Windows上,如果服务器是用
已启用共享内存系统变量以支持共享内存连接。
•在Unix上,MySQL程序特别对待主机名localhost,其方式可能不同于其他基于网络的程序:客户端使用Unix套接字文件进行连接。--socket选项或MYSQL_UNIX_PORT环境变量可用于指定套接字名称。
•在Windows上,如果主机是。(句点),或者TCP/IP未启用并且--未指定套接字或主机为空,如果服务器是使用命名管道启动的,则客户端使用命名管道连接

已启用系统变量以支持命名管道连接。如果不支持命名管道连接,或者进行连接的用户不是由命名管道完全访问组系统变量指定的Windows组的成员,则会发生错误。
•否则,连接使用TCP/IP。
--protocol选项允许您建立特定类型的连接,即使其他选项通常会导致使用不同的协议。也就是说,-protocol显式指定连接协议并重写前面的规则,即使对于localhost也是如此。
仅使用或选中与所选协议相关的连接选项。其他连接选项将被忽略。例如,在Unix上使用--host=localhost时,客户端尝试使用Unix套接字文件连接到本地服务器。即使给定了--port或-P选项来指定端口号,也会发生这种情况。
要确保客户端与本地服务器建立TCP/IP连接,请使用--host或-h指定主机名值127.0.0.1,或本地服务器的IP地址或名称。您还可以使用--protocol=TCP选项显式地指定连接协议,即使对于localhost也是如此。示例:
mysql --host=127.0.0.1
mysql --protocol=TCP

如果服务器配置为接受IPv6连接,则客户端可以使用--host=::1通过IPv6连接到本地服务器。
在Windows上,可以通过指定--pipe或--protocol=PIPE选项,或通过指定。(句点)作为主机名。
如果服务器启动时未启用支持命名管道连接的命名管道系统变量,或者进行连接的用户不是由命名管道完全访问组系统变量指定的Windows组的成员,则会发生错误。
如果不想使用默认管道名称,请使用--socket选项指定管道的名称。
到远程服务器的连接使用TCP/IP。此命令连接到运行使用默认端口号(3306)的remote.example.com:
mysql --host=remote.example.com

要显式指定端口号,请使用--port或-P选项:
mysql --host=remote.example.com --port=13306

您也可以为到本地服务器的连接指定端口号。但是,如前所述,到Unix上本地主机的连接在默认情况下使用套接字文件,因此除非如前所述强制进行TCP/IP连接,否则将忽略指定端口号的任何选项。
对于此命令,程序在Unix上使用套接字文件,并忽略--port选项:
mysql --port=13306 --host=localhost

要使用端口号,请强制TCP/IP连接。例如,通过以下任一方式调用程序:
mysql --port=13306 --host=127.0.0.1
mysql --port=13306 --protocol=TCP

•在选项文件的[client]部分指定连接参数。文件的相关部分可能如下所示:
[client]
host=host_name
user=user_name
password=password

2、连接压缩控制
到服务器的连接可以使用压缩协议来减少通过连接发送的字节数。默认情况下,连接是未压缩的,但如果服务器和客户端都支持压缩,则可以压缩连接。
压缩连接源于客户端,但会影响客户端和服务器端的CPU负载,因为双方都执行压缩和解压缩操作。
由于启用压缩会降低性能,因此其好处主要出现在网络带宽较低的情况下,网络传输时间控制压缩和解压缩操作的成本,并且结果集很大。
压缩控制应用于客户端程序和参与主/从复制的服务器到服务器的连接。压缩控制不适用于组复制连接、X协议连接或联合表的连接。
这些配置参数可用于控制连接压缩:
•客户机程序支持一个--compress命令行选项来指定到服务器的连接使用压缩。
•对于使用MySQL C API的程序,函数的作用是:指定服务器连接的压缩方式。
•对于主/服务器复制,启用slave_compressed_protocol系统变量指定对主服务器的从连接使用压缩。
在每种情况下,当指定使用压缩时,如果双方都支持,则连接使用zlib压缩算法,否则将回退到未压缩的连接。

3、设置环境变量
可以在命令提示符处设置环境变量以影响命令处理器的当前调用,也可以永久设置环境变量以影响将来的调用。
要永久设置变量,可以在启动文件或使用系统为此提供的接口。

要为环境变量指定值,请使用适合于命令处理器的语法。例如,在Windows上,可以设置USER变量来指定MySQL帐户名。为此,请使用以下语法:
SET USER=your_name
Unix上的语法取决于shell。假设要使用MYSQL_TCP_port变量指定TCP/IP端口号。典型语法(如sh、ksh、bash、zsh等)如下:
MYSQL_TCP_PORT=3306
export MYSQL_TCP_PORT

第一个命令设置变量,export命令将变量导出到shell环境,以便MySQL和其他进程可以访问其值。

对于csh和tcsh,使用setenv使shell变量对环境可用:
setenv MYSQL_TCP_PORT 3306

设置环境变量的命令可以在命令提示下执行以立即生效,但这些设置仅在注销之前保持有效。
要使设置在每次登录时生效,请使用系统提供的界面,或将适当的一个或多个命令放在启动文件中,命令解释器在每次启动时都会读取该文件。

在Windows上,可以使用系统控制面板(在“高级”下)设置环境变量。在Unix上,典型的shell启动文件是.bashrc或.bash_profile(用于bash)或.tcshrc(用于tcsh)。
假设您的MySQL程序安装在/usr/local/MySQL/bin中,并且您希望调用这些程序很容易。
为此,请将PATH环境变量的值设置为包含该目录。例如,如果shell是bash,请将以下行添加到.bashrc文件中:
PATH=${PATH}:/usr/local/mysql/bin

bash对登录和非登录shell使用不同的启动文件,因此您可能希望将设置添加到
.bashrc用于登录shell,to.bash_profile用于非登录shell,以确保路径设置不变。

如果shell是tcsh,请将以下行添加到.tcshrc文件中:
setenv PATH ${PATH}:/usr/local/mysql/bin

如果在您的主目录中不存在适当的启动文件,则使用文本编辑器创建它。

修改路径设置后,请在Windows上打开一个新的控制台窗口,或在Unix上再次登录,以便该设置生效。

原文地址:https://www.cnblogs.com/sunkang-dba/p/12065827.html

时间: 2025-01-10 06:59:02

使用命令选项连接到MySQL服务器(参考MySQL官方文档)的相关文章

Mysql优化(出自官方文档) - 第十二篇(优化锁操作篇)

目录 Mysql优化(出自官方文档) - 第十二篇(优化锁操作篇) 1 Internal Locking Methods 2 Metadata Locking 3 External Locking Mysql优化(出自官方文档) - 第十二篇(优化锁操作篇) 1 Internal Locking Methods 这里介绍Mysql的几种锁,该锁由Mysql自行进行管理,用户不需要处理该锁. Row-Level Locking 对于InnoDB,行锁可以通过SELECT ... FOR UPDAT

Mysql优化(出自官方文档) - 第八篇(索引优化系列)

目录 Mysql优化(出自官方文档) - 第八篇(索引优化系列) Optimization and Indexes 1 Foreign Key Optimization 2 Column Indexes 3 Column Indexes && Multiple-Column Indexes 4 Comparison of B-Tree and Hash Indexes 5 Use of Index Extensions 6 Invisible Indexes 7 Descending In

SQL Server 2014的数据库引擎新增功能(参考sqlserver官方文档)

SQL Server 2014数据库引擎引入了一些新功能和增强功能,这些功能可以提高设计.开发和维护数据存储系统的架构师.开发人员和管理员的能力和工作效率. 以下是数据库引擎已增强的方面. 数据库引擎功能增强 内存优化表 内存中 OLTP 是一种内存优化的数据库引擎,它集成到 SQL Server 引擎中. 内存中 OLTP 已针对 OLTP 进行优化. SQL Server Azure 中的数据文件 Azure 中的 SQL Server 数据文件可为作为SQL Server Azure bl

IOS Block简介,参考自官方文档

一.block 介绍 block 是c语言层次的语句,c中的方法比较相似.在一些其他的语言中,block 有时也被称为"closure"(闭包). 她可以被声明为指针变量,作为参数传递以供回调,在异步调用上也非常方便: block 是一种匿名内联的代码集合,文档上罗列了她的一些功能: 1.有如方法一样的参数列表 2.有返回类型 3.可以在其声明时所在的作用域中占有状态 4.可以在其作用域中选择性的更改状态 5.可以与相同作用域中的其他代码块分享变动的可能性 6.尽管其(栈)作用域被销毁

MySQL程序概述 (参考MySQL官方文档)

本文简要概述了Oracle公司提供的MySQL命令行程序.它还讨论了在运行这些程序时指定选项的一般语法.大多数程序都有特定于其自身操作的选项,但所有程序的选项语法都相似. MySQL安装中有许多不同的程序.本文简要概述了它们.后面会提供每个程序的更详细描述,每个程序的描述都指示其调用语法和支持的选项.大多数MySQL发行版都包含所有这些程序,除了那些特定于平台的程序.(例如,服务器启动脚本不在Windows上使用.)每个MySQL程序都有许多不同的选项.大多数程序都提供了一个--help选项,您

由浅入深Zookeeper详解(参考官方文档)

[老哥我最近接到个任务研究一下Zookeeper,对于我这个Linux运维领域的小菜鸟来说也是刚刚听到这个名字,为了养成良好的文档整理和学习能力,我人生第一次开通了博客并把这次的研究经历记录了下来,以后我会不定期的记录下来我对技术领域的探索,希望热爱Linux运维志同道合的兄弟们多指教,一同进步成长.(ps:我本人平时比较沉默,善于观察思考,对历史人物颇有见解,但是一旦说起话来就会滔滔不绝,谁让我曾经的梦想是当一名教师呢!哈哈!)同时,送给大家一句话,人生是一场马拉松比赛,只有坚持到最后的人,才

Mysql官方文档下载方法

登陆下列网站 http://dev.mysql.com/doc/ 选择相应版本通用手册 点击,可以看到目录,下拉到download this manual,选择下载的格式 下载后效果: 完成,可以阅读了,官方文档是最快的学习方法.

Oracle官方文档阅读参考推荐

原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/40165733 我们应该带着重点去阅读官方文档,因此此文列举阅读文档时适合重点阅读的书籍,实际工作时应该结合具体工作职责针对性的阅读相关官方资料,做到有的放矢. 关于如何进入到官方文档,请参看之前的文章,访问地址如下: 使用oracle官方文档(11G)--初探Conc

Oracle官方文档(11G r 2)【安装需要参考的文档】

Oracle的官方文档相关的笔记:仅供大家参考,欢迎大家前来指正.提出建议哦 步骤: 点击左上角的Master Book List 然后进入一个书本目录 然后找到如下图所示: 然后根据自己的系统的版本去找相应的文档就OK了 比如我的是RedHat的,那么我就选择 第三项 Database Installation Guide for Linux 这本书了 进入之后如下图 所示 此时直接选择 2.3 点击进入,即可以按照文档去安装Oracle了,但是英语不要太烂哦,嘿嘿,实在不行的话 先去补充一下