centos7安装msSQLserver数据库

数据库安装:
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/

猜你喜欢

转载自blog.csdn.net/leonnew/article/details/126662980