Mac上安装多个版本的MySQL

news2024/11/25 9:24:58

文章目录

    • 准备工作
      • 先确定自己机器是多少位的
      • 下载包
    • 具体步骤
      • 1. 先安装低版本的MySQL
      • 2. 清理完后,再安装高版本的MySQL
      • 3. 将低版本的文件夹移回 /usr/local
      • 4. 切换版本
      • 5. 验证
    • 扩展
      • 清理命令
      • 其他信息

准备工作

先确定自己机器是多少位的

uname -a

输出X86_64,则是64位的,反之,则是32位的

下载包

官方下载地址:https://downloads.mysql.com/archives/community/

下载5.7.31 和 8.0.26 两个版本的 dmg 文件;
mysql-5.7.31-macos10.14-x86_64.dmg
mysql-8.0.26-macos11-x86_64.dmg

安装之前,先干净的清理mysql,参考本文“扩展“章节;

具体步骤

1. 先安装低版本的MySQL

双击 mysql-5.7.31-macos10.14-x86_64.dmg
安装好后,打开 系统偏好设置,最下面一栏,多了一个MySQL的图标,可以用来管理MySQL;
进入 /usr/local,会多两个文件夹

lrwxr-xr-x    1 root  wheel    30  5 23 15:22 mysql -> mysql-5.7.31-macos10.14-x86_64
drwxr-xr-x   13 root  wheel   416  5 23 15:22 mysql-5.7.31-macos10.14-x86_64

接下来,将 mysql-5.7.31-macos10.14-x86_64 文件夹,移动到别的路径;
再次执行,清理脚本;

2. 清理完后,再安装高版本的MySQL

备注:为什么后安装高版本的MySQL,因为高版本的MySQL安装后,会覆盖上面清理的那些文件;

双击 mysql-8.0.26-macos11-x86_64.dmg,
注意,8.0的安装器里可以直接设置密码;
安装好后,打开 系统偏好设置,最下面一栏,多了一个MySQL的图标,可以用来管理MySQL;如下:
在这里插入图片描述

3. 将低版本的文件夹移回 /usr/local

将步骤1备份的文件夹移回 /usr/local 目录里,再点击 系统偏好设置 里的MySQL,就可以看到两个版本了
在这里插入图片描述
选中 MySQL 5.7.31, 点击右下方的 Initialize Database,进行初始化,修改密码;

4. 切换版本

Mac系统的权限控制的很死,需要每次输入密码或者验证指纹;
停止某一个版本后,再 Make Active 另一版本,就可以切换了;

5. 验证

  1. 方法一:可以通过本地客户端连接后,使用 select version() 命令查看;
  2. 方法二:使用 mysql -V 命令查看(前提是进入配置环境变量,PATH环境变量里有:/usr/local/mysql/bin)

扩展

清理命令

可以用下面的命令,干净的清理安装的mysql:

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*

其他信息

  • mysql8.0和mysql5.7的数据文件还是有很大的不同的
    mysql8.0的文件格式是 数据文件位置/数据库名称/表名称.ibd,但是mysql5.7的格式是数据文件位置/数据库名称,同时包含表名称.frm和表名称.ibd

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

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

相关文章

【Error】Python3.7 No module named ‘_sqlite3‘ 解决方案

场景:docker容器运行keybert时出现错误 No module named ‘_sqlite3‘,是容器环境没有sqlite的库,如下图所示: 本机是能够正常导入sqlite3的,虚拟环境conda下也有该库。 python3.8版本的不可用于python3.7中&#xff0…

【LeetCode】169. 多数元素

169. 多数元素(简单) 方法一:sort排序,时间复杂度为O(nlogn) 思路 我自己的写法用了最简单的方法,首先使用 sort() 对数组元素按照从小到大进行排序,然后依次遍历每个元素,如果该元素的出现次…

CompletableFuture 异步编排如何使用?

概述: 在做提交订单功能时,我们需要处理的事务很多,如:修改库存、计算优惠促销信息、会员积分加减、线上支付、金额计算、生成产品订单、生成财务信息、删除购物车等等。如果这些功能全部串行化处理,会发费很长的时间…

【盘点】界面控件DevExpress WPF的几大应用程序主题

DevExpress WPF控件包含了50个应用程序主题和40个调色板,用户可以在发布应用程序是指定主题,或允许最终用户动态修改WPF应用程序的外观和样式,其中主题带有调色板,可以进一步个性化您的UI! PS:DevExpress …

oracle WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK问题分析

服务概述 财务系统出现业务卡顿&#xff0c;数据库实例2遇到>>> WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! <<<错误导致业务HANG住。 对此HANG的原因进行分析&#xff1a; 故障发生时&#xff0c;未有主机监控数据&#xff0c;从可以获取的数据库A…

c++ 11标准模板(STL) std::map(三)

定义于头文件<map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class map;(1)namespace pmr { template <class Key, class T, clas…

使用Linkage Mapper工进行物种分布建模的步骤详解(含实际案例分析)

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Linkage Mapper解密数字世界链接 文章目录 引言:一、介绍二、数据准备2.1 物种分布数据获取2.2 环境变量数据获取2.3 数据预处理

【拼多多API 开发系列】百亿补贴商品详情接口,代码封装

为了进行电商平台 PDD 的API开发&#xff0c;首先我们需要做下面几件事情。 1&#xff09;开发者注册一个账号 2&#xff09;然后为每个 PDD 应用注册一个应用程序键&#xff08;App Key) 。 3&#xff09;下载 PDD API的SDK并掌握基本的API基础知识和调用 4&#xff09;利用SD…

CSS布局:浮动与绝对定位的异同点

CSS布局&#xff1a;浮动与绝对定位的异同点_cherry_vincent的博客-CSDN博客 浮动 ( float ) 和绝对定位 ( position:absolute ) 相同点&#xff1a; &#xff08;1&#xff09;都是漂起来( 离开原来的位置 ) &#xff08;2&#xff09;并且都不占着原来的位置 &#xff08;3…

Flutter 笔记 | Flutter 布局组件

布局类组件都会包含一个或多个子组件&#xff0c;布局类组件都是直接或间接继承SingleChildRenderObjectWidget 和MultiChildRenderObjectWidget的Widget&#xff0c;它们一般都会有一个child或children属性用于接收子 Widget。 不同的布局类组件对子组件排列&#xff08;layo…

企业级WordPress开发 – 创建企业级网站的优秀提示

目录 “企业级”是什么意思&#xff1f; 使用WordPress创建企业级网站有什么好处&#xff1f; 使用 WordPress 进行企业开发的主要好处 WordPress 可扩展、灵活且价格合理 WordPress 提供响应式 Web 开发 WordPress 提供了巨大的可扩展性 不断更新使 WordPress 万无一…

JAVA-创建PDF文档

目录 一、前期准备 1、中文字体文件 2、maven依赖 二、创建PDF文档方法 三、通过可填充PDF模板将业务参数进行填充 1、 设置可填充的PDF表单 2、代码开干&#xff0c;代码填充可编辑PDF并另存文件 一、前期准备 1、中文字体文件 本演示使用的是iText 7版本&#xff0c…

Jeddak-DPSQL 首次开源!基于差分隐私的 SQL 代理保护能力

动手点关注 干货不迷路 ‍ ‍1. 背景 火山引擎对于用户敏感数据尤为重视&#xff0c;在火山引擎提供的数据分析产品中&#xff0c;广泛采用差分隐私技术对用户敏感信息进行保护。此类数据产品通常构建于 ClickHouse 等数据引擎之上&#xff0c;以 SQL 查询方式来执行计算逻辑&a…

【计算机网络复习】第六章 关系数据理论 1

关系模式的设计 按照一定的原则从数量众多而又相互关联的数据中&#xff0c;构造出一组既能较好地反映现实世界&#xff0c;而又有良好的操作性能的关系模式 ●冗余度高 ●修改困难 ●插入问题 ●删除问题 ★产生问题的原因 属性间约束关系&#xff08;即数据间的依赖关系&…

【JavaSE】Java基础语法(十):构造方法

文章目录 ⛄1. 构造方法的格式和执行时机⛄2. 构造方法的作用⛄3. 构造方法的特点⛄4. 构造方法的注意事项⛄5. 构造方法为什么不能被重写 在面向对象编程的思想中&#xff0c;构造方法&#xff08;Constructor&#xff09;是一个特殊的函数&#xff0c;用于创建和初始化类的对…

“数字”厨电成新宠?“传统”厨电如何凭实力年销破百亿?|厨房电器SMI社媒心智品牌榜

Social Power 核心解读 AI加持&#xff0c;数字厨电新物种持续走红 传统厨电发力社媒&#xff0c;“有范儿”实力吸睛 4月中下旬的“魔都”可谓热闹非凡&#xff0c;上海车展喧嚣未落&#xff0c;隔壁2023AWE&#xff08;中国家电及消费电子博览会&#xff09;的群雄逐鹿紧随…

Electron 小白介绍,你能看懂吗?

目录 前言一、Electron是什么1.官网介绍2.小白介绍 二、Electron开发了哪些应用三、Electron的优势在哪里1.优势2.带给我们什么优势 四、Electron如何学习1.前置知识2.学习建议 五、Electron的乐趣总结 前言 在最近的学习中&#xff0c;我接触了 Electron 这个前端框架&#x…

总结加载Shellcode的各种方式(更新中!)

1.内联汇编加载 使用内联汇编只能加载32位程序的ShellCode&#xff0c;因为64位程序不支持写内联汇编 #pragma comment(linker, "/section:.data,RWE") //将data段的内存设置成可读可写可执行 #include <Windows.h>//ShellCode部分 unsigned char buf[] &qu…

Hadoop的基础操作

Hadoop的基础操作 HDFS是Hadoop的分布式文件框架&#xff0c;它的实际目标是能够在普通的硬件上运行&#xff0c;并且能够处理大量的数据。HDFS采用主从架构&#xff0c;其中由一个NameNode和多个DataNode NameNode负责管理文件系统的命名空间和客户端的访问DataNode负责存储实…

企业为什么要做数字化转型,应该如何进行转型?

企业需要数字化转型才能在当今快速发展的商业环境中保持竞争力和相关性。数字化转型涉及利用数字技术和战略从根本上改变企业的运营方式、为客户创造价值并实现他们的目标。以下是企业进行数字化转型的一些关键原因&#xff1a; 提高运营效率&#xff1a;数字技术可实现自动化、…