当前位置: 首页 > news >正文

MacOS 上以源码形式安装 MySQL 5.7

以下是在 macOS 上从源码安装 MySQL 5.7 的步骤:

前置条件

  1. 安装 Homebrew:如果你还没有安装 Homebrew,可以在终端中运行以下命令进行安装:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
    
  2. 更新 Homebrew:确保你的 Homebrew 是最新版本,运行以下命令:

    brew update
    

安装 MySQL 5.7

  1. 下载 MySQL 5.7 源码:从官方网站下载 MySQL 5.7 的源码包。例如,你可以下载 mysql-5.7.37.tar.gz

  2. 解压源码包:在终端中,使用以下命令解压下载的源码包:

    tar -xzf mysql-5.7.37.tar.gz
    
  3. 编译和安装 MySQL:进入解压后的目录,并运行以下命令:

    cd mysql-5.7.37
    cmake. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_INNODB=ON -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DENABLED_LOCAL_INFILE=1
    make
    sudo make install
    

    这将编译并安装 MySQL 到 /usr/local/mysql 目录。

  4. 初始化 MySQL 数据库:运行以下命令来初始化 MySQL 数据库:

    sudo /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    

    这将创建一个空的 MySQL 数据库,并设置一个默认的 root 用户密码(在这个例子中,密码被设置为空)。

  5. 启动 MySQL 服务:运行以下命令来启动 MySQL 服务:

    sudo /usr/local/mysql/support-files/mysql.server start
    
  6. 登录 MySQL:使用以下命令登录到 MySQL 服务器:

    mysql -uroot
    
  7. 修改 root 密码:为了安全起见,建议你修改 root 用户的密码。可以使用以下命令来设置新密码:

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your_new_password');
    

    your_new_password 替换为你想要设置的新密码。

  8. 配置 MySQL:如果需要,可以编辑 /etc/my.cnf 文件来配置 MySQL 服务器的各种选项。

结束语

现在,你已经成功从源码安装了 MySQL 5.7 在 macOS 上。记得根据你的需求进行适当的配置和安全设置。

为什么我们在安装 MySQL 5.7 前先安装 Homebrew 的几个原因:

  1. 依赖关系管理:MySQL 的编译和安装需要一些依赖项,例如 CMake、GCC 等。Homebrew 可以自动安装这些依赖项,避免了手动搜索和安装的麻烦。

  2. 简化编译过程:使用 Homebrew 安装依赖项后,编译 MySQL 的步骤会更简单。Homebrew 提供的预编译二进制文件和库可以大大缩短编译时间。

  3. 方便的更新和卸载:如果你想更新或卸载 MySQL,使用 Homebrew 会更加方便。只需运行相应的命令,Homebrew 就会处理所有的依赖关系和文件。

  4. 统一的安装路径:Homebrew 将所有安装的软件和工具都放在 /usr/local 目录下,这使得管理和查找这些文件变得更加容易。

  5. 社区支持:Homebrew 有一个庞大的用户和开发者社区,提供了大量的插件和公式,可以帮助你安装和管理各种软件和工具。

总的来说,使用 Homebrew 可以简化 MySQL 的安装过程,减少可能出现的错误,并提供更好的管理和更新体验。

相关文章:

MacOS 上以源码形式安装 MySQL 5.7

以下是在 macOS 上从源码安装 MySQL 5.7 的步骤: 前置条件 安装 Homebrew:如果你还没有安装 Homebrew,可以在终端中运行以下命令进行安装: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install…...

MySQL 事务隔离级别详解

一、事务的基本概念 (一)什么是事务 事务是一个逻辑工作单元,由一组数据库操作组成。这些操作要么全部成功执行,要么全部回滚,以确保数据库的一致性。事务具有以下四个特性,通常被称为 ACID 特性&#xff…...

C语言——高精度问题

1、高精度计算的本质&#xff1a;竖式计算&#xff1b; 2、适用解决超出long long int 范围的大整数计算 #include<stdio.h> #include<string.h> #define N 100 char str1[N4]{0},str2[N4]{0}; int arr1[N4]{0},arr2[N4]{0}; int ans[N5]{0};//将字符串转化成整型…...

aippt:AI 智能生成 PPT 的开源项目

aippt&#xff1a;AI 智能生成 PPT 的开源项目 在现代办公和学习中&#xff0c;PPT&#xff08;PowerPoint Presentation&#xff09;是一种非常重要的展示工具。然而&#xff0c;制作一份高质量的PPT往往需要花费大量的时间和精力。为了解决这一问题&#xff0c;aippt项目应运…...

【Qt之·类QSettings·参数保存】

系列文章目录 文章目录 前言一、概述1.1 QSetting是什么1.2 为什么学习QSetting是重要的 二、不同存储位置的优缺点三、 QSetting的高级用法四、实例演示总结 前言 在当今的应用程序开发中&#xff0c;设置管理是一个至关重要的方面。应用程序的设置包括用户偏好、配置选项和其…...

location重定向和nginx代理

文章目录 1 location重定向1.1 概述1.2 rewrite跳转1.3 用例1.4 实验1.4.1 基于域名的跳转1.4.2 基于ip的跳转1.4.3 基于后缀名的跳转 2 nginx的代理2.1 nginx内置变量2.2 正向代理2.2.1 固定正向代理2.2.2 自动代理 2.3 反向代理2.3.1 负载均衡的算法2.3.2 负载均衡的特点2.3.…...

iptables详解

华子目录 什么是防火墙分类netfilter&#xff08;数据包过滤&#xff09;定义netfilter分析内容 防火墙无法完成的任务netfilter策略管理工具netfilter的5类hook函数防火墙规则策略匹配原则iptablesiptables流量处理动作iptables表5种规则表 安装iptablesiptables策略文件 ipta…...

Edge SCDN深度解析,边缘安全加速的创新实践

边缘安全加速&#xff08;Edge Secure Content Delivery Network&#xff0c;SCDN&#xff09;是酷盾安全推出的边缘集分布式 DDoS 防护、CC 防护、WAF 防护、BOT 行为分析为一体的安全加速解决方案。通过边缘缓存技术&#xff0c;智能调度使用户就近获取所需内容&#xff0c;为…...

solidworks常见问题已解决

solidworks常见问题已解决 问题1&#xff1a;step总是提示默认模板无效。问题2&#xff1a;异型孔向导”时出现了“找不到标准数据库。问题3&#xff1a;找不到CalloutForm.txt文件&#xff0c;标注将由几何体定义。问题5&#xff1a;工程图显示文件损坏不能保存。问题6&#x…...

vCenter开启HA报错

昨天给客户开启vCenter开启HA功能报错,报错的内容比较多 博通官方给出解决办法 https://knowledge.broadcom.com/external/article/318929/error-vsphere-ha-agent-cannot-be-correct.html 常规的解决办法 1.关闭集群HA,再次开启HA 2.主机进入维护模式&#xff0c;再次加入…...

在 Ubuntu 中 make 是否是系统自带的?怎么样查看Linux系统中是否有make?

make 命令 并不是所有 Ubuntu 系统都默认安装的&#xff0c;但它通常是开发工具链的一部分&#xff0c;许多开发者会在安装系统后配置它。make 是一个非常重要的构建工具&#xff0c;用于自动化编译和构建过程&#xff0c;特别是在编译软件或内核时。 make 的来源 make 是一个…...

js:我要在template中v-for循环遍历这个centrerTopdata,我希望自循环前面三个就可以了怎么写

问&#xff1a; 我按在要在template中v-for循环遍历这个centrerTopdata&#xff0c;我希望自循环前面三个就可以了怎么写&#xff1f; 回答&#xff1a; 问&#xff1a; <div v-for"(item, index) in centrerTopdata.slice(0, 3)" :key"index"> d…...

前端使用 Cursor 的最佳助手 - PromptCoder

前端使用 Cursor 的最佳助手 - PromptCoder 你是否正在使用 Cursor 进行前端开发&#xff0c;却苦于繁琐的代码生成和原型图的还原&#xff1f;你是否渴望一个更高效、更智能的工具来提升你的开发效率&#xff1f;那么&#xff0c;你一定不能错过 PromptCoder&#xff01; Pr…...

深入了解 Spring IOC,AOP 两大核心思想

文章目录 一、Spring 基础 - 控制反转&#xff08;IOC&#xff09;1.1. 引入1.2. 如何理解 IOCSpring Bean 是什么&#xff1f;IoC 是什么&#xff1f;IoC 能做什么&#xff1f;IoC 和 DI 是什么关系&#xff1f; 1.3. IoC 配置的三种方式xml 配置Java 配置注解配置 1.4. 依赖注…...

QT从入门到精通——Qlabel介绍与使用

1. QT介绍——代码测试 Qt 是一个跨平台的应用程序开发框架&#xff0c;广泛用于开发图形用户界面&#xff08;GUI&#xff09;应用程序&#xff0c;也支持非图形应用程序的开发。Qt 提供了一套工具和库&#xff0c;使得开发者能够高效地构建高性能、可移植的应用程序。以下是…...

华为HarmonyOS NEXT 原生应用开发:鸿蒙中组件的组件状态管理、组件通信 组件状态管理小案例(好友录)!

文章目录 组件状态管理一、State装饰器1. State装饰器的特点2. State装饰器的使用 二、Prop装饰器&#xff08;父子单向通信&#xff09;1. Prop装饰器的特点2. Prop装饰器的使用示例 三、Link装饰器&#xff08;父子双向通信&#xff09;1. Link装饰器的特点3. Link使用示例 四…...

node.js 环境配置

node_global下创建node_modules 系统变量 新建NODE_Path -> node_modules的路径 用户变量 编辑Path 编辑…\npm为 node_modules的路径 系统变量 Path 新建 %NODE_PATH% CMD测试 npm install express -g 报错 npm error code ETIMEDOUT源的连接超时&#xff0c;没用了要换源 …...

高并发数据采集场景下Nginx代理Netty服务的优化配置

高并发数据采集场景下&#xff0c;要优化Nginx反向代理来支持多个Netty数采服务并保证稳定的性能&#xff0c;可以从以下几个方面对Nginx进行优化配置。 直连模式&#xff08;直接通过 Nginx 处理与后端 Netty 服务的连接&#xff0c;而不作为反向代理&#xff09;&#xff0c;…...

【C++算法】40.模拟_N 字形变换

文章目录 题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a; 题目链接&#xff1a; 6. N 字形变换 题目描述&#xff1a; 解法 解法一&#xff1a;模拟 a,b,c,d,e,f,g...... n4 弄个矩阵放进去&#xff0c;最后从左往右读取。 解法二&#xff1a;模拟优化-…...

【云计算】虚拟化技术

目录 1. 虚拟化技术在云计算中的那些地方发挥了关键作用&#xff1f; 2. 比较VMare&#xff0c;Xen等虚拟化产品的关键技术&#xff0c;以及对云计算技术提供的支持&#xff1f; 3. 服务器虚拟化&#xff0c;存储虚拟化和网络虚拟化都有哪些实现方式&#xff1f; 4. 讨论桌面…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...