mac m1芯片基于arm架构,相关的一些软件安装也会出现很多问题,记录本次安装的一些过程以便以后使用,安装过程中发生了很多的以外故特地记录下。
首先我的电脑是老的mac同步过来的系统,苹果提供的功能的确很哇塞,可惜老的电脑是16款的pro,基于intel芯片,所以我的brew安装目录和m1本该有的安装目录不同,大家是arm架构的话brew应该安装在/opt/hombrew目录下面,然而我的是在/usr/local/下面,所以需要先删除掉,使用命令sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)",执行完后如果有残余目录也删除掉。
sudo rm -rf /usr/local/Homebrew
sudo rm -rf /usr/local/Caskroom
sudo rm -rf /usr/local/var/homebrew
然后我采用 /bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)" 脚本直接安装,安装很顺利,可以还是在原来的/usr/local目录,无奈只能再删除。然后想了下直接创建下/opt/homebrew目录,然后进入该目录安装。
sudo mkdir -p /opt/homebrew
sudo chown -R $(whoami) /opt/homebrew
cd /opt
执行curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
成功在/opt安装了homebrew
然后安装 colima
arch -arm64 brew install colima
启动容器 colima start --arch x86_64 --memory 4
接下来安装docker,我是直接官网下载dmg文件,下载完成开启,然后根据网上的一些文章改了镜像地址,打开docker界面,设置-Docket Engline,右侧内容框增加
"registry-mirrors": [
"https://bytkgxyr.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com"
]
完整如下
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://bytkgxyr.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com"
]
}
终端执行 docker search docker-oracle-xe-11g,突然发现docker命令没有,操作如下
vi ~/.zshrc
底部增加 export PATH=$HOME/bin:/usr/local/bin:/opt/homebrew/bin:/Applications/Docker.app/Contents/Resources/bin:$PATH
执行 source ~/.zshrc
然后这里我执行了一句export DOCKER_DEFAULT_PLATFORM=linux/amd64,之前不执行也可以第二次安装执行了才成功
然后docker命令就加入环境变量中了,重新执行sudo docker search docker-oracle-xe-11g
docker pull deepdiver/docker-oracle-xe-11g
下载完后可以查看 docker images
开启虚拟机
docker run -d -p 1521:1521 --name oracle11g deepdiver/docker-oracle-xe-11g
docker ps 记录下id
docker exec -it 214e936c115e(这个是你的id) /bin/bash
进入后执行
sqlplus system/oracle
进入oracle,创建用户,执行如下命令
create user TYNT identified by 123456;
TYNT 是用户名,123456是密码
通过 select * from all_users; 可以才看到刚才建立的用户
执行 grant connect,resource to TYNT; 给刚才建立的用户授权,授权完成后表示成功
接下来使用navicat来连接oracle,新建oracle连接
按照我的配置,用户名密码采用你的就可以了