因个人能力有限,文章难免存在错误,望斧正,感谢。


版本:

  • macOS 11.6 Intel版本
  • MySQL 8.0.26 Compressed TAR Archive

一、准备所需文件

前往 MySQL :: Download MySQL Community Server 选择macOS系统的Compressed TAR Archive版本下载,目前最新版本是8.0.26。下载后为~/Downloads/mysql-8.0.26-macos11-x86_64.tar.gz。将其解压至/usr/local并重命名目录为mysql:

% cd ~/Downloads/
% tar -zxvf mysql-8.0.26-macos11-x86_64.tar.gz
% sudo mv mysql-8.0.26-macos11-x86_64 /usr/local/mysql

二、调整目录权限

这一步的目的是保证mysql程序可以在此目录读写数据:
请将代码中的[user]替换为当前用户名

% cd /usr/local/
% sudo chown -R [user]:wheel mysql

三、初始化数据库

由于macOS的安全机制,最好还是在执行命令前先打开“系统偏好设置”-“安全性与隐私”-“允许从以下位置下载的App:所有来源”
在终端中执行如下命令并输入密码后可以打开所有来源:

sudo spctl --master-disable

执行完后再次去系统偏好设置中确认是否打开允许所有来源。

% cd /usr/local/mysql/bin/
% sudo ./mysqld --initialize --user=mysql

初始化数据库会在mysql目录内创建data文件夹,执行完毕后:

2021-05-15T15:00:05.366701Z 0 [System] [MY-013169] [Server] /usr/local/my/bin/mysqld (mysqld 8.0.24) initializing of server in progress as process 4137
2021-05-15T15:00:05.380284Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/my/data/ is case insensitive
2021-05-15T15:00:05.404662Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-05-15T15:00:05.649401Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-05-15T15:00:06.348791Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ?/LNo#lwo3N6
2021-05-15T15:00:07.009105Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.0.24).

记住初始化数据库生成的临时密码,也就是A temporary password is generated for root@localhost:后的内容,注意冒号后有一个空格不算在临时密码中。
如果不小心忘记了临时密码,删除mysql目录下的data文件夹重新执行初始化操作。

四、启动MySQL服务

完成第三步后数据库就已经初始化完成了,此时启动MySQL服务后就可以连接到MySQL数据库了。具体操作如下:

% cd /usr/local/mysql/support-files/
% sudo ./mysql.server start

看见SUCCESS就说明启动MySQL服务成功。
除了start启动选项以外,还有stop(停止)restart(重新启动)status(状态)等。

五、修改MySQL密码

首次连接MySQL需要修改临时生成的密码,首先使用临时密码登陆MySQL,操作如下:

% cd /usr/local/mysql/bin/
% sudo ./mysql -u root -p

然后修改MySQL密码,操作如下:
将代码中的[newPassword]替换成新密码

mysql> ALTER USER root@localhost IDENTIFIED BY [newPassword]

到这里MySQL基本可以使用了。

六、配置Path

还有一个问题就是每次电脑重启后需要重新进入/usr/local/mysql/support-files/目录执行启动MySQL服务命令,每次连接MySQL都需要先进入/usr/local/mysql/bin目录,十分麻烦。
配置Path可以稍微解决这个问题,因为目前macOS默认shell是zsh,所以这里是zsh的Path配置。
在~目录下创建文件.zprofile并写入如下内容:

export PATH="/usr/local/mysql/bin:/usr/local/mysql/support-files:${PATH}"

这样不管在什么目录都可以直接执行sudo mysql.server start命令启动MySQL服务或sudo mysql -u root -p命令连接MySQL


如果喜欢,请一键三连,如果有任何问题或新的发现,请评论区留言交流

在 macOS Big Sur 上安装 MySQL 8.x Compressed TAR Archive的更多相关文章

  1. ELK 在 MacOS( Big Sur) 上安装与配置步骤

    ELK学习笔记 - 安装篇 目录 ELK学习笔记 - 安装篇 1. ElasticSearch 1.1 发展历史及现状 1.2 ElasticSearch 的安装 2. Logstash 2.1 Lo ...

  2. 如何在Macbook上安装MySQL ?

    MySQL是常用的一款开源数据库,对各个平台都提供了支持,而Macbook又作为程序员的一款主力开发工具经常被使用.因此怎么在Macbook上安装MySQL进行程序开发也成了一项基本技能.下面来跟随本 ...

  3. 在MacOS 10.12上安装Tomcat8.5

    在MacOS 10.12上安装Tomcat8.5 原文链接:https://wolfpaulus.com/journal/mac/tomcat8/ Context 已安装Java,使用java -ve ...

  4. Ubuntu上安装MySql过程,以及遇到的一些问题

    今天在Ubuntu服务器上安装MySql的时候遇到了一些问题,记录下来,以防以后忘记. 安装环境:Ubuntu14.04 安装命令: //安装Mysal服务端//会提示输入root密码 sudo ap ...

  5. ubuntu上安装mysql 编译安装

    为什么要折腾?首先说明的是ubuntu上安装mysql等软件是非常容易简单的,其简单的程度盖过windows上的安装,一句sudo apt-get install就可以搞定.如果想用最简便的方法安装m ...

  6. 在linux(CentOS-6.7_x86_64)上安装mysql成功记录

    查看linux服务器的yum源设置: [root@hadoop03 yum.repos.d]# cd /etc/yum.repos.d [root@hadoop03 yum.repos.d]# ll ...

  7. 阿里云服务器上安装mysql的心路历程(博友们进来看看哦)

    在阿里云花了100买了一台云服务器,配置如下: CPU: 1核 内存: 512MB 数据盘: 0G 带宽: 1Mbps 阿里云服务器安装mysql搞得我想吐血,搞了一个多星期,现在才搞好,而且,还有许 ...

  8. 在OSX狮子(Lion)上安装MYSQL(Install MySQL on Mac OSX)

    这篇文章简述了在Mac OSX狮子(Lion)上安装MySQL Community Server最新版本v10.6.7的过程. MySQL是最流行的开源数据库管理系统.首先,从MySQL的下载页面上下 ...

  9. 在Windows上安装MySQL(免安装ZIP版)

    在 Windows 上安装MySQL(免安装ZIP版) 因为一些原因,重新安装了MySQL数据库,重装时习惯性使用最新版下载 此过程中发现MySQL 5.7.12 和MySQL 5.6的安装有些区别: ...

  10. 记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb

    记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb 前段时间我个人Google服务器意外不能用,并且我犯了一件很低级的错误,直接在gcp讲服 ...

随机推荐

  1. Java 常用类 String类与其他结构之间的转换-----String 与 基本数据类型,包装类之间的转换

    1 /* 2 涉及到String类与其他结构之间的转换 3 4 */ 5 6 //String 与 基本数据类型,包装类之间的转换 7 //String --->基本数据类型,包装类:调用包装类 ...

  2. Java对象引用和内存管理的细节

    在Java中,当局部变量(比如方法参数)的作用域结束时,这个局部变量的引用确实不再存在,但这并不意味着它引用的对象会被销毁.对象的销毁是由Java的垃圾回收器(Garbage Collector, G ...

  3. RabbitMq 在centos中开机自启动

    1.在/etc/init.d 目录下新建一个 rabbitmq [root@localhost init.d]# vi rabbitmq 文件内容 #!/bin/bash #chkconfig:234 ...

  4. 聊聊Web项目中的权限设计

    一般的Web项目中都少不了登录这个环节,登录之后就需要跳转到首页,并且根据 当前用户的信息,获取到对应的菜单信息,可以操作的方法信息等等.这个只是针对于 操作权限,至于数据权限处理起来会更加复杂一些. ...

  5. @hook:updated="$common.lib.consoleInfo('updated')" vue外层插入监听事件

    @hook:updated="$common.lib.consoleInfo('updated')" vue外层插入监听事件

  6. epoll和ractor的粗浅理解

    我们继续上篇的文章继续更新我们的代码. 首先就是介绍一下epoll的三个函数. epoll_create epoll_ctl epoll_wait 如何去理解这3个函数,我是这样去理解这个函数, 就像 ...

  7. 记springBoot一直报Exception authenticating MongoCredential.

    项目场景: 场景:继上回docker安装好了mongo,然后自己本地项目尝试搭建使用连接mongo 问题描述: 按照别人写的文章教程一步步操作,最后自己本地尝试连接查询,跳出这个用户权限不够,发生了套 ...

  8. verilog勘误系列之-->算术运算符运算失败

    描述 在verilog代码设计时使用算术运算符与乘法搭配使用出现计算错误 原因 由于数据位宽设置不当导致 错误案例 wire signed [13:0] w01; wire signed [23:0] ...

  9. Ubuntu 14.04傻瓜式安装 0@0

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  10. centos如何换源

    centos如何换源? 万事先备份 mkdir -p /etc/yum/backup/ cp -r /etc/yum.repos.d/* /etc/yum/backup/ 1.将源文件备份 cd /e ...