CentOS7 安装并使用SQL Server

CentOS7 安装并使用SQL Server

Linux 上的 SQL Server 安装指南

笔者基于CentOS7进行安装操作

  • 下载 Microsoft SQL Server Red Hat 存储库配置文件
   sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server.repo
  • 运行以下命令,安装 SQL Server
sudo yum update -y
sudo yum install -y mssql-server
  • 安装完成之后,执行下面命令,根据提示设置SA密码,并选择相应的版本
sudo /opt/mssql/bin/mssql-conf setup

![图片描述][1]

确保SA账户密码轻度满足默认要求(最少 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号)

  • 配置完成后,请验证服务是否正在运行
systemctl status mssql-server

![图片描述][2]

  • 开启防火墙上的 SQL Server 端口,默认为TCP 1433
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
# firewall-cmd未启用不需要做此设置

到此,SQL Server已在CentOS7上正常运行

安装 SQL Server 命令行工具

要创建数据库,需要使用一种工具,可以在 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 update
sudo yum install -y mssql-tools unixODBC-devel
  • 添加/opt/mssql-tools/bin/路径到环境变量
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

本地连接配置

以下步骤使用 sqlcmd 本地连接到新的 SQL Server 实例

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

密码输入可以采用交互的方式

  • 如果连接成功显示如下图:应会显示 sqlcmd 命令提示符:1>

![图片描述][3]

使用SQL Server创建和查询数据

新建数据库,创建一个名为AniuDB的数据库

  • 在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:
CREATE DATABASE AniuDB
  • 在下一行中,编写一个查询以返回服务器上所有数据库的名称
SELECT Name from sys.Databases
  • 前两个命令没有立即执行。 必须在新行中键入 GO 才能执行以前的命令:
GO

![图片描述][4]

接下来创建一个新表 itdevops,然后插入两个新行

  • 在 sqlcmd 命令提示符中,将上下文切换到新的 AniuDB数据库:
USE AniuDB
  • 创建名为 itdevops 的新表:
CREATE TABLE itdevops(id INT, name NVARCHAR(50), quantity INT)
  • 将数据插入表中
INSERT INTO itdevops VALUES (1, 'banana', 150); INSERT INTO itdevops VALUES (2, 'orange', 100);
  • 执行GO
GO

选择数据,运行查询从 itdevops变返回数据 - 通过 sqlcmd 命令提示符输入查询,以返回 itdevops表中数量大于 100 的行

SELECT * FROM itdevops WHERE quantity > 100;
# 执行 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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一个会写诗的程序员的博客

mysql-8.0.11-winx64 安装配置: mysqld --initialize --console MYSQL:ERROR 1045 (28000): Access denied ...

mysql-8.0.11-winx64 安装配置: mysqld --initialize --console MYSQL:ERROR 1045 (28000...

1.3K1
来自专栏杨建荣的学习笔记

MySQL数据导入导出牛刀小试(r5笔记第3天)

最近学习了下MySQL中数据的导入导出,发现功能点真是丰富,很方便很快捷。 这些导入导出的方式还是有不少的细节的,在此先不做扩展和深入分析。 --数据导出 方式...

3654
来自专栏cloudskyme

提高数据库查询速度的几个思路

1、缓存,在持久层或持久层之上做缓存。 2、数据库表的大字段剥离,保证单条记录的数据量很小。 3、恰当地使用索引。 4、必要时建立多级索引。 5、分析O...

3828
来自专栏禁心尽力

mybatis_开发篇

一、使用mybatis的动态代理方式开发 需求:这里以crm系统中分页条件查询所有的客户信息的功能为例? 1、创建工程 2、引入所需的jar包 3、引入日志文件...

1825
来自专栏LanceToBigData

MySQL(十)之视图

前言 前面给大家介绍了查询语句,感觉写的还不错的,喜欢的可以去查看。今天给大家分享的是MySQL中的视图。 视图(View):视图是由查询结果形成一张虚拟的表。...

29010
来自专栏沃趣科技

“mysqlbinlog”工具做binlog server靠谱吗?

玩过binlog server的同学都知道,它使用mysqlbinlog命令以daemon进程的方式模拟一个slave的IO线程与主库连接,可以很方便地即时同...

4478
来自专栏腾讯云数据库团队的专栏

PostgreSQL 的 MVCC 机制解析

PostgreSQL 是通过 MVCC (Multi-Version Concurrency Control) 来保证事务的原子性和隔离性,本文通过一些事例对 ...

5440
来自专栏云数据库

MyDumper原理简介

相对于 MySQL 官方提供的逻辑备份工具 mysqldump,mydumper 最突出的特性就是可采用多线程并行备份,极大提高了数据导出的速度。本文基于 my...

3568
来自专栏DT乱“码”

linux下操作 mysql的基本命令

1, 创建mysqld数据库的管理用户: 要把root用户设置为管理员,我们应该运行下面的命令;     [root@linuxsir01 root]# mys...

2396
来自专栏杨建荣的学习笔记

MySQL中的MVCC(r12笔记第35天)

最近同事也问了我关于MySQL MVCC的一些问题,我觉得这个话题蛮有意思, 而之前似乎也没有总结过,就参考了一些资料,把一些内容摘录出来。 什么是MVCC 以...

3597

扫码关注云+社区