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

相关推荐
九皇叔叔39 分钟前
Linux Shell 正则表达式:从入门到实战,玩转文本匹配与处理
linux·mysql·正则表达式
William.csj1 小时前
Mac——文件夹压缩的简便方法
macos
北冥有鱼被烹1 小时前
【问题】Mac 的 Finder 中没有桌面选项如何处理?(访达 -> 设置 -> 边栏 -> 勾选桌面)
macos
Wang's Blog2 小时前
MySQL: 高并发电商场景下的数据库架构演进与性能优化实践
mysql·性能优化·数据库架构
程序新视界2 小时前
什么是MySQL JOIN查询的驱动表和被驱动表?
数据库·后端·mysql
一匹电信狗3 小时前
【MySQL】数据库的相关操作
linux·运维·服务器·数据库·mysql·ubuntu·小程序
陈一Tender3 小时前
JavaWeb后端实战(登录认证 & 令牌技术 & 拦截器 & 过滤器)
java·开发语言·spring boot·mysql
wenxiaocsdn4 小时前
macos虚拟机-演示篇三配置clover引导
macos
Cabbage_acmer6 小时前
MySQL期中考试突击!
数据库·mysql
迷路爸爸1807 小时前
源码编译安装最新 tmux 教程(含 Debian/Ubuntu/CentOS/Arch/macOS 等系统)
linux·ubuntu·macos·centos·debian·tmux·archlinux