当前位置: 首页 > news >正文

在Arm芯片苹果Mac系统上通过homebrew安装多版本mysql并解决各种报错,感谢deepseek帮助解决部分问题

背景:

1.苹果设备上安装mysql,随着苹果芯片的推出,很多地方都变得不一样了。

2.很多时候为了老项目能运行,我们需要能安装mysql5.7或者mysql8.0或者mysql8.2.虽然本文编写时最新的默认mysql已经是9.2版本。

安装步骤

1.执行homebrew命令(对homebrew不熟悉的可以搜索一下相关文章,本文不赘述。

brew install mysql
brew install mysql@8.4
brew install mysql@5.7

2.关闭已有服务(本文以8.4为例子)

brew services stop mysql
brew services stop mysql@8.4
brew services stop mysql@5.7

此时如果再运行命令 brew services list

会看见所有mysql的服务都是关闭的

3.复制配置

注意默认情况下,3个数据库使用了同一个配置文件,并且是同一份data目录,这显然不对。
我们先复制/opt/homebrew/etc/my.cnf 文件为 /opt/homebrew/etc/my84.cnf。
然后调整其内容为(注意最好每个配置的port要不同,否则服务无法同时开启)

# Default Homebrew MySQL server config
[mysqld]port=3306# 数据目录
datadir=/opt/homebrew/var/mysql84
socket=/opt/homebrew/var/mysql84/mysql.sock# 错误日志
log_error=/opt/homebrew/var/mysql84/error.log# 默认字符集
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci# Only allow connections from localhost
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1# SQL模式
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO

4.拆分数据保存目标文件夹

创建目标数据文件夹(感谢deepseek,这才知道用户名是_mysql)

sudo mkdir -p /opt/homebrew/var/mysql84
sudo chown -R _mysql:admin /opt/homebrew/var/mysql84  # macOS 默认 MySQL 用户为 _mysql
sudo chmod 755 /opt/homebrew/var/mysql84

5.重新初始化

/opt/homebrew/opt/mysql@8.4/bin/mysqld --defaults-file=/opt/homebrew/etc/my84.cnf --initialize --user=_mysql --basedir=/opt/homebrew/opt/mysql@8.4 --datadir=/opt/homebrew/var/mysql84

6.临时密码位于
/opt/homebrew/var/mysql84/error.log
A temporary password is generated for root@localhost:


7.修改文件
/opt/homebrew/Cellar/mysql@8.4/8.4.4/homebrew.mxcl.mysql@8.4.plist
其中的各种路径/opt/homebrew/var/mysql 末尾改为mysql84


8.启动mysql
brew services start mysql@8.4
注意第7步改对了,这块才能顺利启动,否则看着似乎启动成功了,实际上会马上终止

9.终于成功启动,此时可以登录了
mysql -u root -p

10.修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

http://www.lryc.cn/news/530474.html

相关文章:

  • c++可变参数详解
  • 【深度分析】DeepSeek 遭暴力破解,攻击 IP 均来自美国,造成影响有多大?有哪些好的防御措施?
  • CMake项目编译与开源项目目录结构
  • 完全卸载mysql server步骤
  • C#方法(练习)
  • Unity游戏(Assault空对地打击)开发(3) 摄像机的控制
  • ChatGPT-4o和ChatGPT-4o mini的差异点
  • SQL进阶实战技巧:某芯片工厂设备任务排产调度分析 | 间隙分析技术应用
  • 【力扣】438.找到字符串中所有字母异位词
  • 2024具身智能模型汇总:从训练数据、动作预测、训练方法到Robotics VLM、VLA
  • Day33【AI思考】-函数求导过程 的优质工具和网站
  • 【URL】一个简单基于Gym的2D随机游走环境,用于无监督强化学习(URL)
  • 【VM】VirtualBox安装ubuntu22.04虚拟机
  • MySQL的GROUP BY与COUNT()函数的使用问题
  • C# 精炼题18道题(类,三木运算,Switch,计算器)
  • 96,【4】 buuctf web [BJDCTF2020]EzPHP
  • 数据库 - Sqlserver - SQLEXPRESS、由Windows认证改为SQL Server Express认证进行连接 (sa登录)
  • 2025年02月02日Github流行趋势
  • 【数据分析】案例03:当当网近30日热销图书的数据采集与可视化分析(scrapy+openpyxl+matplotlib)
  • 如何使用 DeepSeek 和 Dexscreener 构建免费的 AI 加密交易机器人?
  • buu-jarvisoj_level0-好久不见30
  • 深度学习查漏补缺:1.梯度消失、梯度爆炸和残差块
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.2 多维数组切片:跨步访问与内存布局
  • ResNet--深度学习中的革命性网络架构
  • TypeScript语言的语法糖
  • 17.2 图形绘制4
  • tomcat核心组件及原理概述
  • 本地部署DeepSeek教程(Mac版本)
  • MyBatis-Plus笔记-快速入门
  • 爬取豆瓣书籍数据