本期主要给大家讲解如何在mac for m1中安装mysql,一是在mac本机安装,二是在docker中安装,三是在linux虚拟机中安装。可以选择自己需要的方式进行观看
1、我们本机安装采取的是通过homebrew来安装,如果没有安装homebrew的要先安装homebrew,篇幅关系这里不再累叙
2、安装mysql
brew install mysql
3、启动mysql,该指令会自动设置mysql开机自启
brew services start mysql
4、连接测试(这里使用的是navicat数据库管理工具,我这里已经添加了其他的数据库了)
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数据库管理工具)
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数据库管理工具)
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦