linux Centos下安装 sqlserver

时间:2021-01-11 07:19:56

我使用的是Centos7在虚拟机中完成测试

1、下载设置mssql的yum源,执行以下代码,现在sqlserver的linux版本130多兆,网速慢的请等待

curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo
sudo yum install -y mssql-server

2、运行首次设置命令,设置密码,如果你的内存小于3G,这一步将无法通过,如果你用虚拟机搭建,请注意

/opt/mssql/bin/sqlservr-setup

3、关闭防火墙,或者允许防火的1433端口

systemctl stop firewalld

此时SQLSERVER已经安装完成,如果以上代码执行全部没有出现错误,那么可以在windows下,用sql server managerment studio来连接测试

4、由于linux和windows系统的盘符路径格式不一样,如果使用sql server图形化管理工具来新建数据库的话,我这里数据库默认创建到了/var/opt/mssql/data/目录下,我想把数据库新建到/var/mymssql下,但是默认情况下sqlserver服务没有操作这个文件夹的权限,需要修改这个文件夹的权限

mkdir /var/mymssql
chown mssql:mssql /var/mymssql

5、然后创建数据库,注意这里的路径格式,平时表达linux文件/var/testdb.mdf这样,这里创建要用C:\开头并且/左斜杠要改为\右斜杠

create database testdb
on  primary
(
    name='testdb',
    filename= N'C:\var\testdb.mdf',
    size=5mb,
    maxsize=100mb,
    filegrowth=15%
)
log on
(
    name='testdb_log',
    filename=N'c:\var\stuDB_log.ldf',
    size=2mb,
    filegrowth=1mb
)

6、修改数据库默认排序规则,否则数据库中文会乱码,执行这一步骤时,数据库要是刚创建的,否则无法执行通过

ALTER DATABASE testdb COLLATE Chinese_PRC_CI_AS

7、建表和测试

create table classtable(
	id int primary key identity(1,1) not null,
	classname nvarchar(max)
)
go
insert into classtable values('班级1')
insert into classtable values('班级2')
go
create table usertable(
	id int primary key identity(1,1) not null ,
	name nvarchar(max) not null,
	sex bit ,
	classid int foreign key references classtable(id)
)
go
insert into usertable values('学生1' , 1 , 1)
insert into usertable values('学生2' , 1 , 2)

select * from classtable
select * from usertable

结束!