Linux下连接Mysql服务器的方式

一:mysql连接简介

1、linux下mysql的连接方式有三种:

本地mysql命令连接
客户端命令连接
脚本语言封装方法连接

 

 

 

 

2、linux下mysql的连接方法有两种:

TCP/IP协议连接
mysql.sock连接

 

 

 

二:mysql配置文件my.cnf的三个区块讲解

 

[client]区块是mysql客户端连接mysql服务器时读取本地的my.cnf参数信息;

[mysql]区块是mysql客户端和mysql服务器部署在同一台机器上,并且利用mysql命令连接mysql服务器时读取本地的my.cnf参数信息;

[mysqld]区块是mysql服务器启动时读取本地的my.cnf参数信息。

三、mysql客户端和mysql服务器部署在同一台机器上面

1、需要证明的结论:

①mysql客户端和mysql服务器部署在同一台机器上面时,用mysql命令连接本地mysql服务器指定localhost这个地址,不需要指定mysql服务器端口,读取[mysql]区块的配置信息,并且通过mysql.sock方法连接mysql服务器;

②mysql客户端和mysql服务器部署在同一台机器上面时,用mysql -h127.0.0.1连接mysql服务器读取[client]区块的配置信息,通过TCP/IP协议方法连接mysql服务器,并且默认指定3306端口;

③mysql客户端和mysql服务器部署在同一台机器上面时,用python脚本登入mysql服务器相当于客户端方式登入,不读取my.cnf配置文件,只是python用自己的模块封装客户端参数信息。

2、开始证明以上结论:

①mysql客户端和mysql服务器部署在同一台机器上面时,用mysql命令连接本地mysql服务器指定localhost这个地址,不需要指定mysql服务器端口,读取[mysql]区块的配置信息,并且通过mysql.sock方法连接mysql服务器;

第一步:

执行如下mysql命令连接mysql服务器

带上密码连接成功:

得出结论:

mysql客户端和mysql服务器部署在同一台机器时,执行mysql命令登入,默认指定localhost这个主机地址去连接;

第二步:

修改mysql服务器端口号并且重载mysql服务

[mysqld]
port=3307

连接正常:

得出结论:

mysql客户端和mysql服务器部署在同一台机器上面时,执行mysql命令登入,不需要指定mysql服务器开放的端口;

第三步:

my.cnf的初始配置参数:

[mysql]
socket=/tmp/mysql.sock

可以成功登入mysql服务器

修改后的my.cnf配置参数:

[mysql]
socket=/tmp/mysql.sock_1

 出现如下报错:

得出结论:

mysql客户端和mysql服务器部署在同一台机器上面时,用mysql命令连接本地mysql服务器指定localhost这个地址,不需要指定mysql服务器开放的端口,读取[mysql]区块的配置信息,并且通过mysql.sock方法连接mysql服务器;

到此为止关于结论①证明完毕!

②mysql客户端和mysql服务器部署在同一台机器上面时,用mysql -h127.0.0.1连接mysql服务器读取[client]区块的配置信息,通过TCP/IP协议方法连接mysql服务器,并且默认指定3306端口;

第一步:

my.cnf的初始配置参数:

[client]
port=3306
[mysqld]
port=3306

 可以成功登入mysql服务器

 

修改my.cnf配置参数:

[client]
port=3307
[mysqld]
port=3306

连接mysql服务器报错:

指定端口连接mysql服务器:

得出结论:

mysql客户端和mysql服务器部署在同一台机器上面时,用mysql -h 127.0.0.1连接mysql服务器读取的的[client]这个区块的配置信息,走的是TCP/IP协议方法连接的,并且如果不指定端口则默认3306端口;

到此为止关于结论②证明完毕!

③mysql客户端和mysql服务器部署在同一台机器上面时,用python脚本登入mysql服务器相当于客户端方式登入,不读取my.cnf配置文件,只是python用自己的模块封装客户端参数信息。

 第一步:

python脚本

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import MySQLdbdef main():#conn = MySQLdb.connect(host='127.0.0.1', user='root', passwd='123', port=3306)conn = MySQLdb.connect(host='localhost', user='root', passwd='123', port=3306)cur = conn.cursor()cur.execute("show databases")print cur.fetchall()conn.commit()cur.close()conn.close()if __name__ == '__main__':main()

执行结果如下:

MySQLdb源码中有如下解释:

得出结论:

mysql客户端和mysql服务器部署在同一台机器上面时,用python脚本登入mysql服务器相当于客户端方式登入,不读取my.cnf配置文件,只是python自己模块封装的客户端参数信息。

到此为止关于结论③证明完毕!

四、mysql客户端和mysql服务器部署在不同机器上面

1、需要证明的结论:

①mysql客户端和mysql服务器部署在不同机器上面时,用mysql -h192.168.163.130 -p123登入mysql服务器读取本机[client]参数信息,通过TCP/IP协议连接;

2、开始证明以上结论:

①mysql客户端和mysql服务器部署在不同机器上面时,用mysql -h192.168.163.130 -p123登入mysql服务器读取本机[client]参数信息,通过TCP/IP协议连接;

第一步:

mysql客户端my.cnf配置信息:

[client]
port=3306

mysql服务器my.cnf配置信息:

[mysqld]
port=3306

可以正常连接:

第二步:

mysql客户端my.cnf配置信息:

[client]
port=3307

mysql服务器my.cnf配置信息:

[mysqld]
port=3306

连接mysql服务器报错:

 

指定mysql服务器端口连接,则成功:

得出结论:

mysql客户端和mysql服务器部署在不同机器上面时,用mysql -h192.168.163.130 -p123登入mysql服务器读取本机[client]参数信息,通过TCP/IP协议连接;

以上内容希望可以帮助你更深刻了解linux下mysql的连接方式

笔者寄语:大多数IT人掌握的知识都是花拳绣腿,只有少部分人不忘初心;加油!!!

转载于:https://www.cnblogs.com/zhongguolute/p/7170386.html

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

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

相关文章

福禄克宣布推出 FiberLert,口袋大小的实时光纤探测器

测试仪对电缆、端口、极性和收发器问题进行故障排除 福禄克网络宣布推出 FiberLert™ Live Fiber Detector,这是一款袖珍型测试仪,可检测光纤通信中使用的不可见近红外 (850-1625 nm) 波长。当放置在有源光纤端口或跳线前面时,测试仪会发出连…

列出C#进程以及详细信息

结合着上一篇,再写一个获取进程详细信息的代码建立一个listBox将进程名称遍历进去this.listBox1.Items.Clear(); Process[] MyProcessesProcess.GetProcesses(); foreach(Process MyProcess inMyProcesses) { this…

xcode常用快捷键_Mac及Xcode常用快捷键

接触mac这么长时间,觉得mac最人性化、最不易让人察觉的有两个地方,第一就是mac键盘核心按键Command是由左手大拇指进行控制的,我们的大拇指可以轻松方便自然地按住Command按键,进行快捷键的组合操作,而Windows键盘&…

为今天的光纤检测选择光纤示波器

受污染的连接首要原因仍然是数据中心、校园和其他企业或电信网络环境中与光纤相关的问题和故障。但是仅仅清洁每根光纤的端面是不够的,除非检查,否则无法知道端面是否清洁。 由于市场上有各种各样的视频和手持显微镜,为当今的光纤网络选择好的…

Linux发行版的关系图

Linux发行版的关系图

光纤vs.铜缆:为什么光纤是智能、可持续建筑越来越多的选择

多年来,我们一直听说FTTX正在进入水平LAN,光纤到桌面、光纤到办公室、光纤到机柜、光纤到区域等。通常称为“光纤到边缘”或FTTE,传统上,这些部署大多用于高安全性的政府环境或专业应用程序或设备。现在,随着带宽需求的…

活学巧用电脑上网实例入门

本书以实例的方式讲解了电脑上网中各方面的操作方法和使用技巧。全书共分11章,第1章主要介绍上网连接的基础操作;第2章~第3章介绍如何在网上浏览和搜索信息;第4章主要讲解如何上传和下载文件;第5章讲解电子邮件知识&am…

mysql数据库断电_MySQL 数据库忽然断电会丢数据吗转载

在上一章,我讲解了 MySQL 锁的相关内容。主要谈到了全局锁、表锁、行锁以及死锁等。通过这些学习,相信我们可以理解锁的原理,并在工作中降低锁冲突的概率。这也是优化数据库必须掌握的知识点。从本节开始,将进入一个新的 MySQL 知…

利用云安监控和管理云

云工程师有责任支持组织跨多个云的持续集成、交付、部署系统和管道的持续开发和维护。 一旦工作需要云迁移,他们需要为各种关键业务服务或应用程序提供和协调对云基础设施和云服务的支持。 他们还需要密切关注可能遇到资源限制的系统或不再使用的系统。 用户对云…

Wi-Fi Expert专业无线网测试软件

量化网络在个体用户上体验一直是很困难的工作,而测量无线网络性能的挑战性则更高。因为WLAN环境确实非常复杂,因此真的没有任何一个工具可以一次性测量无线性能的各个方面 通常,网络支持人员能够采用的方法是使用大量的工具尽可能详尽地描绘…

This dependency was not found: * !!vue-style-loader!css-loader?……解决方案

Webstorm2017.1.4 new里找不到vue文件的处理方法 这一篇中说到加的模板是这样的。 但是当你新建一个vue项目时,需要重新安装stylus,否则报错: This dependency was not found: * !!vue-style-loader!css-loader?{"minimize":false…

Windows Server 2008 磐石风暴系列课程

转自电驴下载页面:[url]http://www.verycd.com/topics/251739/[/url]中文名称:Windows Server 2008 磐石风暴系列课程资源类型:ISO发行时间:2007年地区:***语言:普通话简介:*******************…

关于SimpleDateFormat时间转换总是显示1970年的问题

前端传一个时间戳,后端解析的时候 就是这么简单的几句代码。这个值输出的值居然是1970,应该是20081104, 但是为什么返回的是1970了 后面想想发现是时间戳不对 postman请求 修改后的代码 queryBarnSwallowDto.getGraduateDate()替换成自己的…

xul 创建一个按钮

MDN Mozilla 产品与私有技术 Mozilla 私有技术 XUL Toolbars 添加工具栏按钮 (定制工具栏)添加工具栏按钮 (定制工具栏) 在本文章中创建一个 overlay在工具栏添加按钮为按键应用风格图标大小CSS 样式表应用样式表常见错误常见工具栏的 overlayed windows更多信息此文…

MySQL预读失效_华为云MySQL新增“逻辑预读”特性,轻松解决线性预读失效问题...

随着用户对数据访问速度的日益重视,MySQL数据库在最初的设计中,采用了线性预读的方式,提前将即将使用的数据预读到Buffer pool中,来提升数据的访问速度,但在实际使用过程中,线性预读失效的问题愈来愈突出。对于存在时间比较长,变更又比较频繁,除非我们对于这张表进行重建,否则该…

Mac下的Parallel Windows忘记密码怎么办?

由于工作或是生活,在国内的环境下我们总有些时候要用到Windows才能完成某些任务,对于不经常使用Windows的用户,相信在虚拟机上安装一个Windows是不错的选择。小编就使用了Paralles Desktop安装了 Win 7 系统。但是在使用过程中由于不知道是Wi…

Unity shader学习之Grab Pass实现玻璃效果

GrabPass可将当前屏幕的图像绘制在一张纹理中,可用来实现玻璃效果。 转载请注明出处:http://www.cnblogs.com/jietian331/p/7201324.html shader如下: // Upgrade NOTE: replaced mul(UNITY_MATRIX_MVP,*) with UnityObjectToClipPos(*)Shade…