brew 安装MySQL 5.7

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。

  • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
  • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
  • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

MySQL 5.7的Homebrew安装 - MacOS

本文关键字:MySQL、数据库、5.7版本、MacOS、Homebrew

文章目录

  • MySQL 5.7的Homebrew安装 - MacOS
    • 一、MySQL简介
    • 二、版本选择
      • 1. 应用场景
      • 2. MySQL版本
    • 三、安装步骤
      • 1. 查询软件信息
      • 2. 执行安装命令
      • 3. 检查服务状态
      • 4. 初始化配置
      • 5. 终端登陆测试
      • 6. 连接工具测试

一、MySQL简介

MySQL是一个典型的关系数据库,目前是Oracle公司产品之一,也是目前主流使用的关系型数据库之一。使用MySQL可以进行最基本的数据存储、管理、查询等操作,也可以方便的组建数据库集群,配置读写分离。

MySQL数据库同样使用SQL(结构化查询语言)来进行操作,同时MySQL数据库自身也有很多可以直接使用的内置函数,在部分操作的语法上和其他数据库会存在区别。

二、版本选择

1. 应用场景

  • 社区版

在学习阶段,可以使用免费的社区版,这也是中小型企业会选用的一个版本,可以在官方网站直接进行下载。在社区版中,除了提供数据库服务端以外,同样提供了社区版相关组件,如官方的可视化工具、MySQL集群、各开发语言数据库驱动等,可以根据需要直接下载。

  • 企业版

MySQL企业版是提供了商用的解决方案,相关的产品除了数据库服务外,还包括:MySQL云服务、企业级数据备份、企业级防火墙、企业级数据加密等。

2. MySQL版本

目前MySQL官网主要提供了两个大版本的支持:5.7.x、8.0.x,但是从5.0.x至今的版本依然可以全部下载到。至于说为什么直接从5.x跳到8.x笔者不得而知,但是从官网透露出的信息可以知道8.x版本相较于5.7版本,在性能方面做出了较大的改进和优化:2x Faster than MySQL 5.7!

但是笔者要在这里提醒大家的是,在8.0的MySQL数据库中,对某些常用语法的细节部分也做了调整,如果准备进行升级,一定要注意兼容性的问题
而5.7版本相较于5.6版本而言,主要是进行了性能上的优化,并提供了更丰富的设置。如:新增了优化器、原生JSON支持、GIS扩展等。

三、安装步骤

使用Homebrew进行MySQL数据库的安装需要MacOS系统中已经安装了相关环境,这部分可以参考:MacOS安装Homebrew与Oh-My-Zsh,完成后打开终端继续以下操作。

1. 查询软件信息

首先使用search命令搜索MySQL数据库完整名称:

brew search mysql1


可以看到5.7版本的MySQL数据库完整名称是mysql@5.7

2. 执行安装命令

使用install命令进行软件安装:

brew install mysql@5.71


安装过程不需要其它操作,等待安装完成即可。

3. 检查服务状态

第一次安装MySQL,服务是未开启状态,使用services命令进行检查:

brew services list1


使用start指令开启服务,执行后每次开机都会自动启动该服务:

brew services start mysql@5.71

4. 初始化配置

安装完成后需要执行一次配置才能够正常使用,执行如下命令:

mysql_secure_installation

如果提示没找到mysql_secure_installation,就加入环境变量

  echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrcexport LDFLAGS="-L/usr/local/opt/mysql@5.7/lib"export CPPFLAGS="-I/usr/local/opt/mysql@5.7/include"


如果是个人使用,这里可以不开启密码校验插件,这样我们可以使用较为简单的密码组合,方便记忆,因此输入n

  • 设置密码

为数据库的root用户(最高权限用户)设置密码,需要输入两次,输入时没有光标显示,是正常的。

  • 选择是否移除用户

这一步可以将不需要的匿名用户移除,输入y回车即可。

  • 开启root用户远程连接

默认给出的选项是不允许通过root用户远程连接,因为root用户拥有最高权限,学习阶段可以开启方便虚拟机或局域网调试(如果开启需要输入n)。

  • 选择是否保留测试数据集

安装是默认附带一个test数据集,这里可以根据需要选择是否保留(如果需要移除则输入y)。

  • 立即刷新权限

输入y使得密码和权限设置立即生效,否则需要重新启动数据库服务。

5. 终端登陆测试

使用刚刚设置的密码测试登陆:

mysql -uroot -p1


也可以在命令中使用明文密码直接登陆,如(密码为root):

mysql -uroot -proot1

6. 连接工具测试

以Navicat为例,首先新建一个连接:

填写连接名和密码创建一个新的连接:

对于Navicat的基本功能介绍可以参考:MySQL数据库界面化工具 - Navicat的常用功能。

文章来源: sandtower.blog.csdn.net,作者:一头小山猪,版权归原作者所有,如需转载,请联系作者。

原文链接:sandtower.blog.csdn.net/article/details/124556129

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

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

相关文章

openlayers-18-聚合显示补充(切换聚合与非聚合状态)

最近有一些网友问我&#xff0c;聚合显示怎么实现聚合与不聚合之间的切换&#xff0c;有很多方法能够实现&#xff0c;下面是一个示例作为参考。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-…

机器人过程自动化(RPA)入门 6. 通过插件和扩展易于控制应用程序

到目前为止,您已经学习了如何记录自动化步骤,还学习了控制流以及变量和数据表的使用。最重要的部分是理解和掌握控制。除非您能够正确地识别应用程序的控件,否则不可能成功地实现流程自动化。现在,在本章中,我们将学习如何使用外部插件和扩展。除了基本的提取和与桌面屏幕…

YOLOV3代码分析

文件夹和文件的作用 config:文件的配置&#xff1a; 1.coco.data:存放coco数据集的相关信息&#xff0c;如类别总数&#xff0c;数据集的路径等 2.yolov3.cfg: yolov3的网络架构 data&#xff1a;存放训练集和测试集 1.coco:存放coco训练集和测试集 labels中存放每个照片的标签…

Servlet开发-session和cookie理解案例-登录页面

项目展示 进入登录页面&#xff0c;输入正确的用户名和密码以后会自动跳到主页 登录成功以后打印用户名以及上次登录的时间&#xff0c;如果浏览器和客户端都保存有上次登录的信息&#xff0c;则不需要登录就可以进入主页 编码思路 1.首先提供一个登录的前端页面&…

ubuntu http 服务器响应

代码&#xff1a; h文件 #include <iostream> #include <curl/curl.h>#include <net/if.h> #include <sys/ioctl.h> #include <arpa/inet.h> #include <string.h>#include <event.h> #include <event2/http.h> #include <…

DDS信号发生器Verilog波形发生器FPGA

名称&#xff1a;DDS信号发生器Verilog波形发生器 软件&#xff1a;Quartus 语言&#xff1a;Verilog 要求&#xff1a; 1.可产生正弦波&#xff0c;锯齿波&#xff0c;三角波&#xff0c;方波4种波形&#xff0c;频率可调 2.具有波形选择、起动、停止功能。 代码下载&…

QT信号槽

目录 信号槽的概念 按钮的常用信号 自定义槽函数 自定义信号函数 自定义槽和信号注意的事项 信号与槽的拓展 lambda表达式 信号槽的概念 信号槽是Qt框架引以为豪的机制之一。所谓信号槽&#xff0c;实际就是观察者模式。当某个事件发生之后&#xff0c;比如&#xff0c…

一篇博客学会系列(2)—— C语言中的自定义类型 :结构体、位段、枚举、联合体

目录 前言 1、结构体 1.1、结构体类型的声明 1.2、特殊的结构体类型声明 1.3、结构体的自引用 1.4、结构体的定义和初始化 1.5、结构体成员变量的调用 1.6、结构体内存对齐 1.6.1、offsetof 1.6.2、结构体大小的计算 1.6.3、为什么存在内存对齐&#xff1f; 1.7、…

【WIN32】C++在打印Windows中调用堆栈信息

C在打印Windows中调用堆栈信息 关键函数 GetCurrentProcess 返回当前进程的伪句柄 伪句柄是一个特殊常量&#xff0c;当前 (HANDLE) -1&#xff0c;被解释为当前进程句柄。 为了与将来的操作系统兼容&#xff0c;最好调用 GetCurrentProcess &#xff0c;而不是硬编码此常量…

Linux账户组管理及权限练习

1.使用id命令查看root账户信息 [rootserver ~]# id root 用户id0(root) 组id0(root) 组0(root) 2.使用id命令查看自己的普通账户信息 [rootserver ~]# id kxy 用户id1000(kxy) 组id1000(kxy) 组1000(kxy),10(wheel) 3.新建账户test1&#xff0c;并查看账户信息&#xff1a; [ro…

BASH shell脚本篇3——字符串处理

这篇文章介绍下BASH shell中的字符串处理的相关命令。之前有介绍过shell的其它命令&#xff0c;请参考&#xff1a; BASH shell脚本篇1——基本命令 BASH shell脚本篇2——条件命令 Bash字符串也是一种数据类型&#xff0c;它用于表示文本而不是数字&#xff0c;它是一组可能…

No150.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

后台管理系统: 商品管理

商品管理之三级联动静态组件 先做俩个卡片组件&#xff0c;分开距离 三级联动很多地方都用到了它&#xff0c;我们可以封装成一个组件 注册为一个全局组件 <div><el-form :inline"true" class"demo-form-inline"><el-form-item label&qu…

1200*A. Flipping Game(前缀和)

解析&#xff1a; 100数据量&#xff0c;两层遍历每个区间&#xff0c;然后前缀和计算1的个数&#xff0c;维护最大值即可。 #include<bits/stdc.h> using namespace std; #define int long long const int N110; int n,a[N],res,sum[N]; signed main(){scanf("%ll…

Python标准库分享之时间与日期 (time, datetime包)

Python具有良好的时间和日期管理功能。实际上&#xff0c;计算机只会维护一个挂钟时间(wall clock time)&#xff0c;这个时间是从某个固定时间起点到现在的时间间隔。时间起点的选择与计算机相关&#xff0c;但一台计算机的话&#xff0c;这一时间起点是固定的。其它的日期信息…

目标检测:FROD: Robust Object Detection for Free

论文作者&#xff1a;Muhammad,Awais,Weiming,Zhuang,Lingjuan,Lyu,Sung-Ho,Bae 作者单位&#xff1a;Sony AI; Kyung-Hee University 论文链接&#xff1a;http://arxiv.org/abs/2308.01888v1 内容简介&#xff1a; 1&#xff09;方向&#xff1a;目标检测 2&#xff09;…

性能优化实战使用CountDownLatch

1.分析问题 原程序是分页查询EventAffinityScoreDO表的数据&#xff0c;每次获取2000条在一个个遍历去更新EventAffinityScoreDO表的数据。但是这样耗时比较慢&#xff0c;测试过30万的数据需要2小时 private void eventSubjectHandle(String tenantId, String eventSubject) …

3.6+铁死亡+WGCNA+机器学习

今天给同学们分享一篇3.6铁死亡WGCNA机器学习的生信文章“Identification of ferroptosis related biomarkers and immune infiltration in Parkinsons disease by integrated bioinformatic analysis”&#xff0c;这篇文章于2023年3月14日发表在BMC Med Genomics期刊上&#…

队列的使用以及模拟实现(C++版本)

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;强烈推荐优质专栏: &#x1f354;&#x1f35f;&#x1f32f;C的世界(持续更新中) &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;…

C运算符和控制语句

几乎每一个程序都需要进行运算&#xff0c;对数据进行加工处理&#xff0c;否则程序就没有意义了。要进行运算&#xff0c;就需规定可以使用的运算符。 C语言的运算符范围很宽&#xff0c;把除了控制语句和输人输出以外的几乎所有的基本操作都作为运算符处理。 运算符分类1 除…