0. 引言

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

1. mac本机安装mysql

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

2、安装mysql

brew install mysql

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

brew services start mysql

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

2. docker安装mysql

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

docker pull mysql/mysql-server

2、创建容器

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

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

docker exec -it mysql-local bash
# 进入mysql命令行
mysql -uroot -p123456
# 授权
use mysql;
update user set host = "%" where user='root';
# 刷新权限
flush privileges;

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

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

3、解压压缩包

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

可以看到解压出一大堆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

在这里插入图片描述
其中弹出的选择直接选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 

6、初始化数据库

mysqld --initialize --console

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

chown -R mysql:mysql /var/lib/mysql/
chown -R mysql:mysql /var/log/mysqld.log

8、启动mysql

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

查看mysql状态

systemctl status mysqld

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

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

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

mysql -u root -p

11、重置密码

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

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

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

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

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

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

QQ + 微信

原文地址:https://wu55555.blog.csdn.net/article/details/123724386