官方文档:https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-red-hat
OS必须条件:
Memory: 3.25 GB
File System: XFS or EXT4 (other file systems, such as BTRFS, are unsupported)
Disk space : 6 GB
Processor speed: 2 GHz
Processor cores: 2 cores
Processor type: x64-compatible only
一、安装SQL server(在linux上)
1、通过yum,下载sql server的源;
Microsoft SQL Server 2017 Red Hat的 存储库配置文件:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
查看一下/etc/yum.repos.d/mssql-server.repo的内容,
输入
vi /etc/yum.repos.d/mssql-server.repo
如果有404错误,查看官方文档换一个官方的安装源。如果没有错误进入命令模式。
运行下列命令,安装SQL server;
sudo yum install -y mssql-server
程序包安装完成后,请运行 mssql-conf setup 命令并按提示设置 SA 密码,然后选择版本
sudo /opt/mssql/bin/mssql-conf setup
我这里选择 2 Express(免费)
语言选择 10,密码必须符合策略要求
安装成功
安装可能出现的问题:
1.内存不足
sqlservr: This program requires a machine with at least 2000 megabytes of memory.
Microsoft SQL Server 的初始安装失败。请参考错误日志
配置完成后,请验证服务是否正在运行:
systemctl status mssql-server
要允许远程连接,请在 RHEL 上打开防火墙上的 SQL Server 端口。 默认的 SQL Server 端口为 TCP 1433。 如果对防火墙使用 FirewallD,可以使用以下命令:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
# firewall-cmd未启用不需要做此设置
安装Sqlserver命令行工具(在linux上)
若要创建数据库,需要使用一个能够在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。 以下步骤安装 SQL Server 命令行工具: sqlcmd和bcp。
下载 Microsoft Red Hat 存储库配置文件。
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
如果服务器以前安装过mssql,需要删除任何较旧的 unixODBC 程序包。
sudo yum update
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
运行以下命令以安装mssql 工具与 unixODBC 开发人员包
sudo yum install -y mssql-tools unixODBC-devel
安装完成
为方便起见,请将 /opt/mssql-tools/bin/ 添加到 PATH 环境变量。 这样就可以在运行工具时不指定完整路径。 请运行以下命令,以便修改登录会话和交互/非登录会话的 PATH:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
查看sqlcmd指令可以用吗
sqlcmd -S localhost -U SA
一般这样以后就会要求你输入Password,输入安装时候要求输入的密码就好了,就表示sqlcmd指令就可以使用了
如果连接成功显示如下图:应会显示 sqlcmd 命令提示符:1>
配置远程连接(在本地机器上)
Navicat的主机设置为
主机:ip地址,端口号( “,”后面的部分后加SQLserver的端口号,一般是1433,有时候也可以不加)
验证方式:选择SQL server验证
连接上数据库发现,发现什么都没有,需要创建数据库使用
使用SQL Server创建和查询数据
新建数据库,创建一个名为database的数据库
输入sqlcmd 命令
sqlcmd -S localhost -U SA
#创建测试数据库
CREATE DATABASE test
必须在新行中键入 GO 才能执行以前的命令:
GO
查询以返回服务器上所有数据库的名称
SELECT Name from sys.Databases
go
接下来创建一个新表 t_sys_user,然后插入数据
首先在 sqlcmd 命令提示符中,切换到 test数据库
USE test
创建名为 t_sys_user的新表:
create table t_sys_user(id varchar(50), username varchar(250),password varchar(250) )
go
退出 sqlcmd 命令提示符
quit
从 Windows 进行连接
Windows 上的 SQL Server 工具连接到 Linux 上的 SQL Server 实例,操作方式与连接到任何远程 SQL Server 实例一样
Windows 上运行,连接到 Linux 上的 SQL Server 的其他工具:
SSMS: https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-develop-use-ssms
WP: https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-manage-powershell
SSDT: https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-develop-use-ssdt