MacOS 上以源码形式安装 MySQL 5.7
以下是在 macOS 上从源码安装 MySQL 5.7 的步骤:
前置条件
-
安装 Homebrew:如果你还没有安装 Homebrew,可以在终端中运行以下命令进行安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" -
更新 Homebrew:确保你的 Homebrew 是最新版本,运行以下命令:
brew update
安装 MySQL 5.7
-
下载 MySQL 5.7 源码:从官方网站下载 MySQL 5.7 的源码包。例如,你可以下载
mysql-5.7.37.tar.gz。 -
解压源码包:在终端中,使用以下命令解压下载的源码包:
tar -xzf mysql-5.7.37.tar.gz -
编译和安装 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目录。 -
初始化 MySQL 数据库:运行以下命令来初始化 MySQL 数据库:
sudo /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data这将创建一个空的 MySQL 数据库,并设置一个默认的 root 用户密码(在这个例子中,密码被设置为空)。
-
启动 MySQL 服务:运行以下命令来启动 MySQL 服务:
sudo /usr/local/mysql/support-files/mysql.server start -
登录 MySQL:使用以下命令登录到 MySQL 服务器:
mysql -uroot -
修改 root 密码:为了安全起见,建议你修改 root 用户的密码。可以使用以下命令来设置新密码:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your_new_password');将
your_new_password替换为你想要设置的新密码。 -
配置 MySQL:如果需要,可以编辑
/etc/my.cnf文件来配置 MySQL 服务器的各种选项。
结束语
现在,你已经成功从源码安装了 MySQL 5.7 在 macOS 上。记得根据你的需求进行适当的配置和安全设置。
为什么我们在安装 MySQL 5.7 前先安装 Homebrew 的几个原因:
-
依赖关系管理:MySQL 的编译和安装需要一些依赖项,例如 CMake、GCC 等。Homebrew 可以自动安装这些依赖项,避免了手动搜索和安装的麻烦。
-
简化编译过程:使用 Homebrew 安装依赖项后,编译 MySQL 的步骤会更简单。Homebrew 提供的预编译二进制文件和库可以大大缩短编译时间。
-
方便的更新和卸载:如果你想更新或卸载 MySQL,使用 Homebrew 会更加方便。只需运行相应的命令,Homebrew 就会处理所有的依赖关系和文件。
-
统一的安装路径:Homebrew 将所有安装的软件和工具都放在
/usr/local目录下,这使得管理和查找这些文件变得更加容易。 -
社区支持: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 特性ÿ…...
C语言——高精度问题
1、高精度计算的本质:竖式计算; 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:AI 智能生成 PPT 的开源项目 在现代办公和学习中,PPT(PowerPoint Presentation)是一种非常重要的展示工具。然而,制作一份高质量的PPT往往需要花费大量的时间和精力。为了解决这一问题,aippt项目应运…...
【Qt之·类QSettings·参数保存】
系列文章目录 文章目录 前言一、概述1.1 QSetting是什么1.2 为什么学习QSetting是重要的 二、不同存储位置的优缺点三、 QSetting的高级用法四、实例演示总结 前言 在当今的应用程序开发中,设置管理是一个至关重要的方面。应用程序的设置包括用户偏好、配置选项和其…...
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(数据包过滤)定义netfilter分析内容 防火墙无法完成的任务netfilter策略管理工具netfilter的5类hook函数防火墙规则策略匹配原则iptablesiptables流量处理动作iptables表5种规则表 安装iptablesiptables策略文件 ipta…...
Edge SCDN深度解析,边缘安全加速的创新实践
边缘安全加速(Edge Secure Content Delivery Network,SCDN)是酷盾安全推出的边缘集分布式 DDoS 防护、CC 防护、WAF 防护、BOT 行为分析为一体的安全加速解决方案。通过边缘缓存技术,智能调度使用户就近获取所需内容,为…...
solidworks常见问题已解决
solidworks常见问题已解决 问题1:step总是提示默认模板无效。问题2:异型孔向导”时出现了“找不到标准数据库。问题3:找不到CalloutForm.txt文件,标注将由几何体定义。问题5:工程图显示文件损坏不能保存。问题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.主机进入维护模式,再次加入…...
在 Ubuntu 中 make 是否是系统自带的?怎么样查看Linux系统中是否有make?
make 命令 并不是所有 Ubuntu 系统都默认安装的,但它通常是开发工具链的一部分,许多开发者会在安装系统后配置它。make 是一个非常重要的构建工具,用于自动化编译和构建过程,特别是在编译软件或内核时。 make 的来源 make 是一个…...
js:我要在template中v-for循环遍历这个centrerTopdata,我希望自循环前面三个就可以了怎么写
问: 我按在要在template中v-for循环遍历这个centrerTopdata,我希望自循环前面三个就可以了怎么写? 回答: 问: <div v-for"(item, index) in centrerTopdata.slice(0, 3)" :key"index"> d…...
前端使用 Cursor 的最佳助手 - PromptCoder
前端使用 Cursor 的最佳助手 - PromptCoder 你是否正在使用 Cursor 进行前端开发,却苦于繁琐的代码生成和原型图的还原?你是否渴望一个更高效、更智能的工具来提升你的开发效率?那么,你一定不能错过 PromptCoder! Pr…...
深入了解 Spring IOC,AOP 两大核心思想
文章目录 一、Spring 基础 - 控制反转(IOC)1.1. 引入1.2. 如何理解 IOCSpring Bean 是什么?IoC 是什么?IoC 能做什么?IoC 和 DI 是什么关系? 1.3. IoC 配置的三种方式xml 配置Java 配置注解配置 1.4. 依赖注…...
QT从入门到精通——Qlabel介绍与使用
1. QT介绍——代码测试 Qt 是一个跨平台的应用程序开发框架,广泛用于开发图形用户界面(GUI)应用程序,也支持非图形应用程序的开发。Qt 提供了一套工具和库,使得开发者能够高效地构建高性能、可移植的应用程序。以下是…...
华为HarmonyOS NEXT 原生应用开发:鸿蒙中组件的组件状态管理、组件通信 组件状态管理小案例(好友录)!
文章目录 组件状态管理一、State装饰器1. State装饰器的特点2. State装饰器的使用 二、Prop装饰器(父子单向通信)1. Prop装饰器的特点2. Prop装饰器的使用示例 三、Link装饰器(父子双向通信)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源的连接超时,没用了要换源 …...
高并发数据采集场景下Nginx代理Netty服务的优化配置
高并发数据采集场景下,要优化Nginx反向代理来支持多个Netty数采服务并保证稳定的性能,可以从以下几个方面对Nginx进行优化配置。 直连模式(直接通过 Nginx 处理与后端 Netty 服务的连接,而不作为反向代理),…...
【C++算法】40.模拟_N 字形变换
文章目录 题目链接:题目描述:解法C 算法代码: 题目链接: 6. N 字形变换 题目描述: 解法 解法一:模拟 a,b,c,d,e,f,g...... n4 弄个矩阵放进去,最后从左往右读取。 解法二:模拟优化-…...
【云计算】虚拟化技术
目录 1. 虚拟化技术在云计算中的那些地方发挥了关键作用? 2. 比较VMare,Xen等虚拟化产品的关键技术,以及对云计算技术提供的支持? 3. 服务器虚拟化,存储虚拟化和网络虚拟化都有哪些实现方式? 4. 讨论桌面…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...
高考志愿填报管理系统---开发介绍
高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发,采用现代化的Web技术,为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## 📋 系统概述 ### 🎯 系统定…...
五、jmeter脚本参数化
目录 1、脚本参数化 1.1 用户定义的变量 1.1.1 添加及引用方式 1.1.2 测试得出用户定义变量的特点 1.2 用户参数 1.2.1 概念 1.2.2 位置不同效果不同 1.2.3、用户参数的勾选框 - 每次迭代更新一次 总结用户定义的变量、用户参数 1.3 csv数据文件参数化 1、脚本参数化 …...
