centos install mssql


mssql安装之后创建的数据库文件需要中默认的目录下转移到 '/mnt/mssql/data'目录下面。原因:'/mnt' 为挂着的磁盘,后期可以随时扩容, 避免mssql数据库文件过大导致系统盘空间占满。
安装过程主要分两步, 第一步安装mssql。 第二部创建数据库然后转移数据库文件 *.mdf *.ldf


第一步

安装 mssql

根据官网的提示进行mssql的安装
详细教程如下 https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-linux-2017

1.下载 Microsoft SQL Server Red Hat 存储库配置文件:

$sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

2.运行以下命令,安装 SQL Server:

$sudo yum install -y mssql-server

3.软件包安装完成后,运行mssql conf 安装命令并按照操作提示设置 SA 密码,并选择你的版本。

$sudo /opt/mssql/bin/mssql-conf setup

--提示:mssql版本选择develop版本 (免费,不可生产模式)

4.配置完成后,请验证服务是否正在运行:

$systemctl status mssql-server

安装 SQL Server 命令行工具

1.下载 Microsoft Red Hat 存储库配置文件。

$sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo

2.如果你有以前版本的mssql 工具安装,请删除任何较旧的 unixODBC 程序包。

$sudo yum remove unixODBC-utf16 unixODBC-utf16-devel

3.运行以下命令以安装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

本地连接

1.使用 SQL Server 名称 (-S),用户名 (-U) 和密码 (-P) 的参数运行 sqlcmd。 在本教程中,用户进行本地连接,因此服务器名称为 localhost。 用户名为 SA,密码是在安装过程中为 SA 帐户提供的密码。

$sqlcmd -S localhost -U SA -P ''
  1. 如果成功,应会显示 sqlcmd 命令提示符:1>

OK,现在你就可以SHOW 你的SQL语句了。 你可以通过SQL 创建数据库,创建表, 插入数据 和 查询数据。另外,如果输入SQL语句之后敲回车语句并不会马上执行,需要输入 GO + 回车键 才能执行SQL预计
3.退出 sqlcmd 命令提示符

$QUIT

第二步

通过上面的安装数据库 我们可以在 /var/opt/mssql/data/ 看到上一步创建的数据库文件。 接下来我们需要把新创建的数据库文件.mdf 和 .ldf转移到 /mnt/mssql/data/目录下面 然后更改/mnt/mssql 目录的权限和所有者 为 mssql。mssql用户和用户组是在安装mssql的时候自动创建的,否则mssql数据库服务没有权限对/mnt/mssql目录进行读取和写入权限。到时数据库文件加载失败
假如我们创建的数据库名称为 myfirstdb

  1. 转移数控文件
$cp -R /var/opt/mssql/data/myfirstdb.mdf /mnt/mssql/data/
$cp -R /var/opt/mssql/data/myfirstdb.ldf /mnt/mssql/data/
  1. 更改/mnt/mssql目前权限
$ cd /mnt
$chmod -R 755 ./mssql
$chown -R mssql mssql
$chgrp -R mssql mssql

执行完以上命令之后我可以通过ls -l查看一下目前权限

$ ls -ll /mnt/mssql

drwxr-xr-x 3 mssql mssql  4096 6月   3 15:56 mssql
  1. 进入本地数据库中,转移数据库的文件目录并挂起
    3.1 进入数据库
$ sqlcmd -S localhost -U SA -P ‘数据库密码’

3.2 修改数据库文件

ALTER DATABASE [myfirstdb] MODIFY FILE
(
NAME = [myfirstdb],
FILENAME = '/mnt/mssql/data/myfirstdb.mdf'
)
GO

ALTER DATABASE [myfirstdb] MODIFY FILE
(
NAME = [myfirstdb_log],
FILENAME = '/mnt/mssql/data/myfirstdb_log.ldf'
)
GO
quit

3.3 重新启动数据库

systemctl restart mssql-server

3.4 再次进入本地的数据库,然后通过命令挂起数据库

alter database myfirstdb set offline
go
alter database myfirstdb set online

到目前为止 已经大功告成

你可能感兴趣的:(centos install mssql)