数据库安装:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo --将SQL2019源更新到yum库中
脱机安装:适用于网络情况不好的地方
mssql-server_versionnumber.x86_64.rpm
sudo yum localinstall mssql-server-15.0.4249.2-1.x86_64.rpm
--这里的mssql-server_versionnumber.x86_64.rpm包我用的是mssql-server-15.0.4249.2-1.x86_64.rpm
资源放到:https://download.csdn.net/download/leonnew/86507024
或者rpm -qpR mssql-server-15.0.4249.2-1.x86_64.rpm
安装工具
msodbcsql-<version>.rpm
https://download.csdn.net/download/leonnew/86507068
sudo yum localinstall msodbcsql18-18.1.1.1-1.x86_64.rpm
mssql-tools-<version>.rpm
https://download.csdn.net/download/leonnew/86507072
sudo yum localinstall mssql-tools18-18.1.1.1-1.x86_64.rpm
或者
rpm -qpR msodbcsql18-18.1.1.1-1.x86_64.rpm
rpm -qpRmssql-tools18-18.1.1.1-1.x86_64.rpm
sudo yum makecache --更新系统缓存
sudo yum install -y mssql-server --安装数据库
rpm -qi mssql-server --查询安装包信息
sudo /opt/mssql/bin/mssql-conf setup --进行数据库配置
Choose an edition of SQL Server:
1) Evaluation (free, no production use rights, 180-day limit)
2) Developer (free, no production use rights)
3) Express (free) --注意最大可达10G
4) Web (PAID)
5) Standard (PAID)
6) Enterprise (PAID)
7) Enterprise Core (PAID)
8) I bought a license through a retail sales channel and have a product key to enter.
选择2-Developer(免费)
补充内容:
关于2017版本官方解释
https://www.microsoft.com/zh-cn/sql-server/sql-server-2017?rtc=1
SQL Server 2019 各版本区别
规模限制
接受许可协议
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x409
The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409
Do you accept the license terms? [Yes/No]:Yes
设置管理员密码
Enter the SQL Server system administrator password: <Password>
Confirm the SQL Server system administrator password:<Confirm Password>
Configuring SQL Server...
sqlservr: This program requires a machine with at least 2000 megabytes of memory.
/opt/mssql/bin/sqlservr: This program requires a machine with at least 2000 megabytes of memory.
Initial setup of Microsoft SQL Server failed. Please consult the ERRORLOG
in /var/opt/mssql/log for more information.
使用 unixODBC 开发包安装 mssql-tools
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
sudo yum -y install mssql-tools unixODBC-devel
PS:centos7有可能安装失败。直接用rpm -i安装离线包先装msodbcsql18再装msql-tools就可以了
启动 mssql-server 服务
sudo systemctl start mssql-server
sudo systemctl enable mssql-server
sudo systemctl status mssql-server
PS: 如果安装到虚拟机里面内存最低2G,我在这里启动不了找了好久原因,最后发现是这个问题。
添加/opt/mssql/bin/ 到您的 $PATH 变量:
echo 'export PATH=$PATH:/opt/mssql/bin:/opt/mssql-tools/bin' | sudo tee /etc/profile.d/mssql.sh
交互式会话环境变量添加
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
非交互式会话环境变量添加
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
PS:centos7使用离线安装包环境变量是/opt/mssql-tools18/bin/
获取文件以在当前 shell 会话中开始使用 MS SQL 可执行二进制文件
source /etc/profile.d/mssql.sh
防火墙规则
sudo firewall-cmd --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
测试 验证连接SQL Server
PS:这里有可能连接出现问题,
Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : SSL Provider: [error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:self signed certificate].
Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : Client unable to establish connection.
是因为客户端没有信任服务器证书不能进行验证
可以加参数-C跳过验证,等同于ADO.NET 选项TRUSTSERVERCERTIFICATE = true
$ sqlcmd -S localhost -U SA
1> select name from sysusers;
2> go
创建测试库
PS:默认创建的库排序规则有点问题,这里补充一下知识点
1.排序规则
Chinese_PRC_CS_AS 中文区分大小写
Chinese_PRC_CI_AS 中文不区分大小写
2.更改数据库默认排序规则
ALTER DATABASE db701d7f15901a4dc2811ca2800087b4b9
COLLATE Chinese_PRC_CI_AS
PS:再补充一个创建数据库的时候兼容级别的问题
Product | 数据库引擎版本 | 兼容级别指定 | 支持的兼容级别值 |
---|---|---|---|
SQL Server 2019 预览 | 15 | 150 | 150、140、130、120、110、100 |
SQL Server 2017 (14.x) | 14 | 140 | 140、130、120、110、100 |
Azure SQL Database 逻辑服务器 | 12 | 130 | 150、140、130、120、110、100 |
Azure SQL Database 托管实例 | 12 | 130 | 150、140、130、120、110、100 |
SQL Server 2016 (13.x) | 13 | 130 | 130、120、110、100 |
SQL Server 2014 (12.x) | 12 | 120 | 120、110、100 |
SQL Server 2012 (11.x) | 11 | 110 | 110、100、90 |
SQL Server 2008 R2 | 10.5 | 100 | 100、90、80 |
SQL Server 2008 | 10 | 100 | 100、90、80 |
SQL Server 2005 | 9 | 90 | 90、80 |
SQL Server 2000 | 8 | 80 | 80 |
# Create new
CREATE DATABASE testDB
SELECT Name from sys.Databases
GO
USE testDB
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
INSERT INTO Inventory VALUES (1, 'banana', 150);
INSERT INTO Inventory VALUES (2, 'orange', 154);
GO
SELECT * FROM Inventory LIMIT 1;
或者
SELECT * FROM dbo.Inventory
WHERE quantity > 152;
显示库
1> select name,database_id from sys.databases;
2> go
删除库
1> drop database testDB;
2> go
卸载SQL server
sudo yum remove mssql-server
sudo rm -rf /var/opt/mssql/