• mac for m1(arm):安装mysql的三种方式(本机安装、虚拟机安装、docker安装)


    0. 引言

    本期主要给大家讲解如何在mac for m1中安装mysql,一是在mac本机安装,二是在docker中安装,三是在linux虚拟机中安装。可以选择自己需要的方式进行观看

    1. mac本机安装mysql

    1、我们本机安装采取的是通过homebrew来安装,如果没有安装homebrew的要先安装homebrew,篇幅关系这里不再累叙

    2、安装mysql

    brew install mysql
    
    • 1

    3、启动mysql,该指令会自动设置mysql开机自启

    brew services start mysql
    
    • 1

    4、连接测试(这里使用的是navicat数据库管理工具,我这里已经添加了其他的数据库了)
    在这里插入图片描述

    2. docker安装mysql

    1、下载镜像,注意这里要下载适配了arm架构的镜像源

    docker pull mysql/mysql-server
    
    • 1

    2、创建容器

    docker run --name mysql-local -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql/mysql-server
    
    • 1

    3、进入到docker容器中修改连接权限,否则只能本地连接

    docker exec -it mysql-local bash
    # 进入mysql命令行
    mysql -uroot -p123456
    # 授权
    use mysql;
    update user set host = "%" where user='root';
    # 刷新权限
    flush privileges;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    4、连接测试(这里使用的是navicat数据库管理工具)
    在这里插入图片描述

    3. linux虚拟机安装mysql

    1、下载mysql压缩包
    清华mysql镜像下载地址

    选择arm版本下载,选择mysql-8.0.28-1.el7.aarch64.rpm-bundle.tar
    在这里插入图片描述

    2、将压缩包上传到linux虚拟机中,这里如果不知道mac m1下如何安装linux虚拟机的可以参考我我另一篇博客:
    mac pro M1(ARM)安装:VMWare Fusion及linux(centos7/ubantu)

    文件上传到linux虚拟机的方式也有两种:
    (1)通过scp指令上传,这个指令使用的前提是要开启虚拟机22端口

    scp mysql-8.0.28-1.el7.aarch64.rpm-bundle.tar root@192.168.244.17:/var/local
    
    • 1

    (2)通过第三方软件传输,这里推荐一个:Termius

    3、解压压缩包

    cd /var/local
     tar -xvf mysql-8.0.28-1.el7.aarch64.rpm-bundle.tar
    
    • 1
    • 2

    可以看到解压出一大堆rpm包
    在这里插入图片描述
    4、可以看到这个mysql包的后缀中是有rpm的,所以这个包并不是像我们直接在官网下载的mysql压缩包那样直接安装,还需要我们做一些额外处理

    查询虚拟机的mariadb版本,并且将其卸载,防止我们后续安装冲突

    rpm -qa | grep mariadb
    yum remove mariadb-libs-5.5.68-1.el7.aarch64
    # 或者直接执行以下卸载指令
    rpm -e mariadb-libs --nodeps
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    其中弹出的选择直接选y
    在这里插入图片描述

    5、接下来按序安装解压出来的包(按照如下顺序安装)

    rpm -ivh mysql-community-common-8.0.28-1.el7.aarch64.rpm
    rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.aarch64.rpm
    rpm -ivh mysql-community-libs-8.0.28-1.el7.aarch64.rpm
    rpm -ivh mysql-community-client-8.0.28-1.el7.aarch64.rpm
    rpm -ivh mysql-community-icu-data-files-8.0.28-1.el7.aarch64.rpm
    rpm -ivh mysql-community-server-8.0.28-1.el7.aarch64.rpm 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    6、初始化数据库

    mysqld --initialize --console
    
    • 1

    7、注意,这个方式安装的mysql路径在/var/lib/mysql
    我们给该目录赋权

    chown -R mysql:mysql /var/lib/mysql/
    chown -R mysql:mysql /var/log/mysqld.log
    
    • 1
    • 2

    8、启动mysql

    systemctl start mysqld
    # 设置mysql为开机自启,如不需要可跳过,但是每次启动虚拟机都需要再启动mysql
    systemctl enable mysqld
    
    • 1
    • 2
    • 3

    查看mysql状态

    systemctl status mysqld
    
    • 1

    如下为启动成功
    在这里插入图片描述
    9、查看自动生成的密码

    cat /var/log/mysqld.log | grep root
    
    • 1

    在这里插入图片描述
    10、用这个密码登陆mysql (可以直接复制登陆)

    mysql -u root -p
    
    • 1

    11、重置密码

    alter user 'root'@'localhost' identified by '123456';
    
    • 1

    12、将root账号的连接host设置为全部,否则只能本地连接

    use mysql;
    update user set host = "%" where user='root';
    # 刷新权限
    flush privileges;
    
    • 1
    • 2
    • 3
    • 4

    13、开通3306端口,否则无法连接到虚拟机的mysql服务

    firewall-cmd --add-port=3306/tcp --permanent
    # 开启后重新加载
    firewall-cmd --reload
    
    • 1
    • 2
    • 3

    14、大功告成,到连接工具中去测试连接吧。(这里使用的是navicat数据库管理工具)
    在这里插入图片描述

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    多线程详解(上)
    推荐高效的电脑磁盘备份解决方案!
    链表内指定区间反转
    【限时免费】20天拿下华为OD笔试之【单调栈】2023Q1A-天然蓄水池【欧弟算法】全网注释最详细分类最全的华为OD真题题解
    day44-反射03
    浅析-vue.js
    https 原理与实践
    【洛谷 P1644】跳马问题 题解(动态规划)
    JAVA基础(十)
    微信小程序获取用户头像和昵称(头像昵称填写能力)
  • 原文地址:https://blog.csdn.net/m0_67402588/article/details/126075186