MacOS 上以源码形式安装 MySQL 5.7

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

前置条件

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

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

    bash 复制代码
    brew update

安装 MySQL 5.7

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

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

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

    bash 复制代码
    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 数据库:

    bash 复制代码
    sudo /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

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

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

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

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

    sql 复制代码
    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 的安装过程,减少可能出现的错误,并提供更好的管理和更新体验。

相关推荐
程序员塔塔喵11 小时前
【MySQL篇|第一篇】索引失效的情况
数据库·mysql·索引失效
paopaokaka_luck11 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
加载力科技13 小时前
Mac解压LZ4格式全攻略-免命令行极速解压
macos·mac 解压工具·乐压·mac 解压 lz4·lz4 格式·tar.lz4·极速解压
paopaokaka_luck13 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
2301_322414280413 小时前
springboot农产品交易平台的设计与实现08055-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·spring boot·redis·mysql·tomcat·maven·mybatis
ha_lydms15 小时前
AnalyticDB MySQL 技术架构
大数据·hadoop·mysql·adb·spark·dataworks·1024程序员节
Random Glow18 小时前
聚簇索引 vs 二级索引:回表、覆盖索引、索引下推
数据库·mysql·性能优化·innodb·1024程序员节·索引优化
风别鹤18 小时前
Xcode pod ‘xxx/xxx.h‘ file not found
ide·macos·xcode
要开心吖ZSH19 小时前
一次线上锁风暴复盘:号源表大范围 DELETE 的隐患与分批删除改造
数据库·mysql·行锁·1024程序员节·间隙锁·lockwaittimeout
John_Hui21 小时前
MySQL 进阶知识
数据库·sql·mysql·1024程序员节