Mac M2 Pro安装MySQL 8.4.3

news2025/1/5 21:30:45

絮絮叨叨

  • MacBook Pro,芯片:Apple M2 Pro, macOS: Sonoma 14.0
  • 一直知道很多软件对Mac M1或M2的支持不好,但没想到在安装MySQL 8.x上也让我吃尽了苦头
  • 本文除了介绍如何安装MySQL 8.4.3外,还会记录笔者遇到的一些问题以及解决方法

MySQL 8.4.3的安装

下载.dmg的安装包

  • 下载地址:https://dev.mysql.com/downloads/mysql/
  • 选择8.4.3 LTS版本的.dmg安装包

图形化界面安装

  • 由于笔者忘记截图了,这里推荐参考文档:Macbook M2配置MySQL 8.x记录。
  • 注意:记住安装时,输入的密码!!! 笔者偷懒,直接是12345678 😂
  • 安装结束后,在 系统设置 最底部就能看到MySQL服务,绿色小圆点表示服务运行中

配置系统环境变量

  • 这时候,还不能通过mysql -uroot -p这样的命令登录MySQL,还需要配置一下系统环境变量

    vim ~/.zshrc
    
  • 在文件尾部加入以下内容,/usr/local/mysql是对应的默认安装目录

    export PATH=$PATH:/usr/local/mysql/bin
    export PATH=$PATH:/usr/local/mysql/support-files
    
  • 让环境变量生效

    source ~/.zshrc
    
  • 通过 mysql -V 验证环境变量是否生效,如果生效会显示MySQL的版本信息

  • 这时候MySQL服务基本上就已经安装完成了

笔者遇到的一些问题记录

环境变量不生效

  • 如果 mysql -V无法执行,一般都是环境变量配置有问题

  • 可以通过echo $PATH,查看MySQL的环境变量是否正确加载
    在这里插入图片描述

  • 首先,检查安装路径是否正确,也就是/usr/local/mysql这个路径是否正确

  • 笔者是安装路径没有问题,但是自己鬼使神差地通过echo写入,导致上述配置到了整个$PATH之后
    在这里插入图片描述

登录失败

  • 使用如下方式登录MySQL均失败

    mysql -u root -p
    mysql -h 127.0.0.1 -u root -p
    
  • 报错如下:

  • 可能是服务未启动

  • 使用如下命令可以查看MySQL服务的状态,启动、停止、重启MySQL服务。参考文档:MAC MySql 安装(详细步骤)

    # 查看MySQL服务状态
    sudo mysql.server status
    # 开启MySQL服务(需要输入电脑密码,不是数据库登录密码)
    sudo mysql.server start
    # 停止MySQL服务
    sudo mysql.server stop
    # 重启MySQL服务
    sudo mysql.server restart
    

使用mysql-native-passwod插件进行用户认证

  • 从MySQL 8.0 开始,将默认密码认证插件从mysql-native-password调整为 caching_sha2_password,感兴趣的可以看这篇文章:从源码分析 MySQL 身份验证插件的实现细节

  • 由于工作需要,本地部署的MySQL服务对root用户应该使用mysql-native-password插件进行认证

  • 由于使用默认的 caching_sha2_password插件,通过程序访问MySQL报错

    MySQL 8.0 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
    
  • 这时需要配置/my.cnf文件。首先,执行如下命令,查看/my.cnf文件的地址

    mysql --help | grep -A 1 "Default options"
    
  • 笔者选择在/usr/local/mysql/etc目录下创建my.cnf文件,注意: /usr/local/目录的更新,一般都需要使用sudo

  • 添加如下内容:

    [mysqld]
    port=3306
    bind-address=0.0.0.0
    mysql_native_password=ON # 开启mysql_native_password插件
    
  • 创建好后,重启MySQL服务。命令行登录MySQL后,执行如下SQL

    USE mysql;
    SELECT user, host, plugin FROM user;
    
  • 这时,自建用户(如root用户)的认证方式将变成mysql_native_password

  • 感谢文档:mysql_native_password DISABLED,这次一向很好用的stackoverflow和 chatGPT 竟然都没帮上我

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2270548.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

闻泰科技涨停-操盘训练营实战-选股和操作技术解密

如上图,闻泰科技,今日涨停,这是前两天分享布局的一个潜伏短线的标的。 选股思路: 1.主图指标三条智能辅助线粘合聚拢,即将选择方向 2.上图红色框住部分,在三线聚拢位置,震荡筑底,…

ts总结一下

ts基础应用 /*** 泛型工具类型*/ interface IProps {id: string;title: string;children: number[]; } type omita Omit<IProps, id | title>; const omitaA: omita {children: [1] }; type picka Pick<IProps, id | title>; const pickaA: picka {id: ,title…

Linux:各发行版及其包管理工具

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 Debian 包管理工具&#xff1a;dpkg&#xff08;低级包管理器&#xff09;、apt&#xff08;高级包管理器&#xff0c;建立在dpkg基础上&#xff09;包格式&#xff1a;…

2024秋语法分析作业-B(满分25分)

特别注意&#xff1a;第17条产生式改为 17) Stmt → while ( Cond ) Stmt 【问题描述】 本次作业只测试一个含简单变量声明、赋值语句、输出语句、if语句和while语句的文法&#xff1a; 0) CompUnit → Block 1) Block → { BlockItemList } 2) BlockItemList → BlockItem…

Tomcat优化指南

以下是一份详细的Tomcat优化指南&#xff1a; 一、JVM&#xff08;Java虚拟机&#xff09;优化 内存设置 堆内存&#xff08;Heap Memory&#xff09; 调整-Xms&#xff08;初始堆大小&#xff09;和-Xmx&#xff08;最大堆大小&#xff09;参数。一般来说&#xff0c;将初始…

【我的 PWN 学习手札】IO_FILE 之 劫持vtable

vtable帮助C实现了类似于多态的效果&#xff0c;然而其中的大量函数指针&#xff0c;一旦被劫持修改&#xff0c;就会产生巨大的危害。 前言 【我的 PWN 学习手札】IO_FILE相关几个基本函数的调用链源码-CSDN博客 【我的 PWN 学习手札】IO_FILE 之 stdin任意地址写-CSDN博客…

力扣编程从0-1

第一题 class Solution:def mergeAlternately(self, word1: str, word2: str) -> str:#计算两个字符串长度&#xff0c;从i 0开始遍历&#xff0c;每次循环&#xff1a;#如果i小于word1的长度&#xff0c;把word1[i]加到答案末尾#如果i小于word2的长度&#xff0c;把word2[…

SpringMVC(一)配置

目录 引入 第一章&#xff1a;Java web的发展历史 一、Model I和Model II 1.Model I开发模式 2.Model II开发模式 二. MVC模式 第二章&#xff1a;SpringMVC的入门案例 搭建SpringMVC的入门程序 1.创建新项目 2.等待加载导入坐标 3.处理xml文件和其他 导入tomcat 运…

迅为RK3568开发板编译Android12源码包-设置屏幕配置

在源码编译之前首先要确定自己想要使用的屏幕并修改源码&#xff0c;在编译镜像&#xff0c;烧写镜像。如下图所示&#xff1a; 第一步&#xff1a;确定要使用的屏幕种类&#xff0c;屏幕种类选择如下所示&#xff1a; iTOP-3568 开发板支持以下种类屏幕&#xff1a; 迅为 LV…

机器学习-感知机-神经网络-激活函数-正反向传播-梯度消失-dropout

文章目录 感知机工作流程 神经网络区别各种各样的神经网络 激活函数激活函数类型Sigmoid 函数ReLU函数Leaky ReLU 函数Tanh 函数 正向传播反向传播梯度消失(gradient vanish)如何解决 Dropout使用 PyTorch实战神经网络算法(手写MNIST数字识别)viewsoftmax和log-softmaxcross-en…

Android使用JAVA调用JNI原生C++方法

1.native-lib.cpp为要生成so库的源码文件 2.JNI函数声明说明 NewStringUTF函数会返回jstring JNI函数声明规则 3.JAVA中声明及调用JNI函数 声明&#xff1a; 调用 4.源码地址&#xff1a; gitgithub.com:tonyimax/UpdateTimeByThread.git

【git】git stash相关指令

目录 git stashgit stash save “”git stash list&#xff1a; 获取stash列表git stash pop&#xff1a;恢复最近一次stash缓存git stash apply stash{index}: 恢复指定缓存在这里插入图片描述git stash drop stash{1}&#xff1a;删除指定缓存 git stash clear :删除stash gi…

spring的@Transactional事务原理理解

目录 Transactional 普通例子代码和测试输出编程式事务事务代理实现和TransactionAspectSupport重要类复习Spring的事务传播机制有哪些实际工作中用到的事务处理 Transactional事务原理理解 Transactional 普通例子代码和测试输出 Transactional(rollbackFor Exception.class…

WebGL之Tree.js

tree基于WebGL的库绘制展示3D图形使用场景包括: 网页游&#xff1a;创建交互式的3D游戏&#xff0c;提供沉浸式的游戏体验。数据可视&#xff1a;将复杂的数据以3D形式展示&#xff0c;便于用户理解和分析。产品展&#xff1a;在电商网站上展示产品的3D模型&#xff0c;提供更…

图像识别-全连接层-卷积层-卷积层的计算-多输入通道场景-多输出通道场景-感受野-填充-VALID 与 SAME-stride-池化-CNN架构

文章目录 全连接层卷积神经网络的作用全连接层的问题场景图像处理和数据转换信息丢失的实例特征提取阶段分类阶段 卷积层卷积层的计算多输入通道场景多输出通道场景批量操作 感受野填充&#xff08;padding&#xff09;VALID 与 SAMEstride池化池化的作用 CNN架构 全连接层 卷…

MATLAB 车牌自动识别系统设计 SVM支持向量机方法 车牌识别

基于支持向量机&#xff08;SVM&#xff09;方法的车牌自动识别系统是一种利用SVM算法对车牌进行分类和识别的技术。该系统通过将车牌的图像处理和特征提取与SVM分类相结合&#xff0c;实现车牌的自动检测与识别。 1. 系统概述 车牌自动识别系统旨在从车辆图像中自动识别车牌…

《Vue3实战教程》39:Vue3无障碍访问

如果您有疑问&#xff0c;请观看视频教程《Vue3实战教程》 无障碍访问​ Web 无障碍访问 (也称为 a11y) 是指创建可供任何人使用的网站的做法——无论是身患某种障碍、通过慢速的网络连接访问、使用老旧或损坏的硬件&#xff0c;还是仅处于某种不方便的环境。例如&#xff0c;…

C++ 【回调函数】详解与代码解读

在现代软件开发中&#xff0c;回调函数是一个常用的工具&#xff0c;能够实现函数调用的延迟绑定&#xff0c;广泛应用于事件驱动、异步操作以及模块解耦等场景。本文将从基础概念、分类、实现方式到代码示例&#xff0c;全面讲解 C 回调函数的实现和应用。 什么是回调函数&…

No.1十六届蓝桥杯备战|第一个C++程序|cin和cout|命名空间

第一个C程序 基础程序 使用DevC5.4.0 写一个C程序 在屏幕上打印hello world #include <iostream> using namespace std;int main() {cout << "hello world" << endl;return 0; } 运行这个C程序 F9->编译 F10->运行 F11->编译运行 mai…

【Vim Masterclass 笔记05】第 4 章:Vim 的帮助系统与同步练习

文章目录 Section 4&#xff1a;The Vim Help System&#xff08;Vim 帮助系统&#xff09;S04L14 Getting Help1 打开帮助系统2 退出帮助系统3 查看具体命令的帮助文档4 查看帮助文档中的主题5 帮助文档间的上翻、下翻6 关于 linewise7 查看光标所在术语名词的帮助文档8 关于退…