查看: 76|回复: 0

Apple Silicon 芯的 Mac如何安装 SQL?

[复制链接]

4

主题

8

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2023-4-10 21:36:04 | 显示全部楼层 |阅读模式
看见这个标题能进来的读者,想来不会是 Mac 小白,也不是会问出为什么不用 Intel PC 的人,那么,我们就可以节约时间,直接上干货了。
先说下背景,apple 用了自己的芯片,虽然可以通过用虚拟机安装 arm 版本 windows11 的方法,解决一些 windows 独占 app 的使用,但是,截止目前(2023 年 4 月)SQL server 是不能安装在 arm 版本的 windows11 上的。在这种情况下,非要用 SQL server怎么办?最佳方法自然是用 Intel的 pc,如果不接受这个方法,就可以开始折腾了。
对比了多种方案(租一台云端 pc 跑 SQL,或是直接租用云数据库我都试过了,可行,但是不方便),目前我觉得的最佳的方法是物理机上 docker +azure-sql-edge,虚拟机上跑SSMS。
图 1是我用docker装的zure-sql-edge,本质和 SQL server 一样,至少你跑测试代码是没问题的。



图 1 sql on docker

图 2是 SQL 运行后的一些参数,这里用户默认是 sa,密码可以自己设置。



图 2 sql 信息

图 3 是虚拟机里 win11 中 ssms 连接数据库的界面,这里和一台普通 pc 上连接没什么区别了。



图 3 win11 里面链接数据库

图4 是我 windows11 里安装的 ssms 版本。



图 4 版本。

提示:
正常通过 SSMS 可以操作数据库,但是遇到要导入外部数据库文件就不能直接导入了。需要分两步。
第一步,在 Mac 中,将数据库文件,导入到 docker
第二步,在虚拟机中,加载数据库文件。
具体方法如下
在Mac的终端里运行下面代码:
1、获取容器的id
docker ps2、宿主机向docker拷贝文件
docker cp /Users/wongtseng/Desktop/sql/MyDB_log.ldf  06932c092427:/var/opt/mssql/data 3、以管理员权限进入容器
docker exec  -it  06932c092427 /bin/bash 4、更改文件操作权限
chmod 777 文件名在 win11 中的 SQL SSMS 中 附加数据库
exec sp_attach_db @dbname = 'MyDB',
  @filename1 = '/var/opt/mssql/data/MyDB.mdf',
  @filename2 = '/var/opt/mssql/data/MyDB_log.ldf'如上即可导入数据库文件。

这样大致可以解决开发中的数据库连接问题了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表