Sqlserver on linux 高可用集群搭建

一、环境准备 1 部署环境:

服务器数量:3台

Ip地址:192.168.1.191(主)

192.168.1.192(从)

192.168.1.193(从)

操作系统:CentOS Linux release 7.6.1810 (Core)

Cpu:2核

内存:4G

存储20GB

2 部署前准备工作: 2.1 关闭防火墙

Bash(all):

iptables -F

systemctl stop firewalld

systemctl disable firewalld

2.2 修改hosts文件

Bash(all):

vim /etc/hosts

192.168.1.191 m191

192.168.1.192 m192

192.168.1.193 m193

2.3 修改主机名

Bash(all):

Hostname m191

Hostname m191

Hostname m191

2.4 更新主机名

Bash(all):

bash

二、安装 SQL Server 1 安装mssql server: 1.1 下载 Microsoft SQL Server 2019 Red Hat 存储库配置文件: sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo 1.2 运行以下命令,安装 SQL Server:

sudo yum install -y mssql-server

程序包安装完成后,请运行 mssql-conf setup 命令并按提示设置 SA 密码,然后选择版本(我选择的是6)。

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

请确保为 SA 帐户指定强密码(最少 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号)。

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

systemctl status mssql-server

1.4 若要允许远程连接,请在 RHEL 上打开防火墙上的 SQL Server 端口。 

默认的 SQL Server 端口为 TCP 1433。 如果对防火墙使用 FirewallD,可以使用以下命令:

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent

sudo firewall-cmd --reload

在此情况下,SQL Server 2019 RHEL 计算机上运行并已准备好使用 !

1.5启动 SQL Server 代理(默认已安装,没有可单独安装)

yum install mssql-server-agent

/opt/mssql/bin/mssql-conf set sqlagent.enabled true

2 安装 SQL Server 命令行工具

若要创建数据库,需要使用一个能够在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。 以下步骤安装 SQL Server 命令行工具: sqlcmd和bcp。

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

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

2.2 如果你有旧版mssql 工具安装,请删除任何较旧的 unixODBC 包。

sudo yum remove unixODBC-utf16 unixODBC-utf16-devel

2.3 运行以下命令以安装 mssql-tools 和 unixODBC 开发人员包。

sudo yum install -y mssql-tools unixODBC-devel

2.4 将 /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

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

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

bash复制

sqlcmd -S localhost -U SA -P \'<YourPassword>\'

提示

可以在命令行上省略密码,以收到密码输入提示。

提示

如果以后决定进行远程连接,请指定 -S 参数的计算机名称或 IP 地址,并确保防火墙上的端口 1433 已打开。

如果成功,应会显示 sqlcmd 命令提示符:1>。

如果连接失败,请首先尝试根据错误消息诊断问题。 。

3.2 创建和查询数据

下面各部分将逐步介绍如何使用 sqlcmd 新建数据库、添加数据并运行简单查询。

3.2.1 新建数据库

以下步骤创建一个名为 TestDB 的新数据库。

在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:

SQL复制

CREATE DATABASE TestDB

在下一行中,编写一个查询以返回服务器上所有数据库的名称:

SQL复制

SELECT Name from sys.Databases

前两个命令没有立即执行。 必须在新行中键入 GO 才能执行以前的命令:

SQL复制

GO

3.3.2 插入数据

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

在 sqlcmd 命令提示符中,将上下文切换到新的 TestDB 数据库:

SQL复制

USE TestDB

创建名为 Inventory 的新表:

SQL复制

CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)

将数据插入新表:

SQL复制

INSERT INTO Inventory VALUES (1, \'banana\', 150); INSERT INTO Inventory VALUES (2, \'orange\', 154);

要执行上述命令的类型 GO:

SQL复制

GO

3.2.3 选择数据

现在,运行查询以从 Inventory 表返回数据。

通过 sqlcmd 命令提示符输入查询,以返回 Inventory 表中数量大于 152 的行:

SQL复制

SELECT * FROM Inventory WHERE quantity > 152;

执行命令:

SQL复制

GO

退出 sqlcmd 命令提示符

要结束 sqlcmd 会话,请键入 QUIT:

SQL复制

QUIT

三、SQL Server 证书及权限配置

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgzxs.html