热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:配置SQLServeronLinux

篇首语:本文由编程笔记#小编为大家整理,主要介绍了配置SQLServeronLinux相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了配置SQL Server on Linux相关的知识,希望对你有一定的参考价值。




1. 前言

前一篇配置SQL Server on Linux(1),地址:http://www.cnblogs.com/fishparadise/p/8125203.html ,是关于更改数据库排序规则的。实现的原理跟在Windows平台差不多,都是需要备份用户数据库,重建系统数据库来实现的,不过操作过程简化了。下面的配置是一些常规的设置,比如最大内存,默认数据文件位置,等。

 


2. 环境

Linux: CentOS 7.4,SQL Server 2017 (RC2) - 14.0.900.75 (X64)

 


3. 更改设置

3.1 内存限制

使用mssql-conf工具


/opt/mssql/bin/mssql-conf set memory.memorylimitmb 3500

 

重启数据库实例


systemctl restart mssql-server

 

 


疑问

以上方法是官方的步骤,但使用SSMS去查看实例的内存设置,发现最大内存限制还是没有改变。不知道为什么。使用sys.sp_configure去配置最大内存则生效了。

 


EXEC sys.sp_configure N\'show advanced options\', N\'1\' RECONFIGURE WITH OVERRIDE
GO
EXEC sys.sp_configure N\'max server memory (MB)\', N\'3500\'
GO
RECONFIGURE WITH OVERRIDE
GO
EXEC sys.sp_configure N\'show advanced options\', N\'0\' RECONFIGURE WITH OVERRIDE
GO

 

 


3.2 设置默认数据或日志目录位置

创建自定义目录及更改目录权限


[root@134test ~]# mkdir -p /data/mssql_data/
[root@134test ~]# chown -R mssql:mssql /data/mssql_data/

 

使用mssql-conf工具


[root@134test ~]# /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /data/mssql_data/
SQL Server needs
to be restarted in order to apply this setting. Please run
\'systemctl restart mssql-server.service\'.

 

重启数据库实例生效


systemctl restart mssql-server

 

测试(数据和日志文件都在这个目录下)


4> create database db2;
5> go

 


[root@134test ~]# cd /data/mssql_data/
[root@134test /data/mssql_data]# ll db*
-rw-rw---- 1 mssql mssql 3932160 2017-12-27 12:31 db1_log.ldf
-rw-rw---- 1 mssql mssql 12582912 2017-12-27 12:31 db1.mdf
-rw-rw---- 1 mssql mssql 8388608 2017-12-27 12:37 db2_log.ldf
-rw-rw---- 1 mssql mssql 8388608 2017-12-27 12:33 db2.mdf

 

如果需要单独更改日志的目录(如/tmp)


/opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /tmp/

 

 


3.3 更改 TCP 端口

使用mssql-conf工具


/opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>

 

重启实例生效


[root@134test ~]# systemctl restart mssql-server

 

测试


[root@134test ~# /opt/mssql/bin/mssql-conf set network.tcpport 1444
SQL Server needs to be restarted in order to apply this setting. Please run
\'systemctl restart mssql-server.service\'.
[root@134test ~
]# systemctl restart mssql-server

 


[root@134test ~]# sqlcmd -S localhost -U sa
Password:
Sqlcmd: Error: Microsoft ODBC Driver
13 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver
13 for SQL Server : TCP Provider: Error code 0x2749.
Sqlcmd: Error: Microsoft ODBC Driver
13 for SQL Server : A network-related or instance-specific error has occurred
while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct
and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..

 


[root@134test ~]# sqlcmd -S localhost,1444 -U sa
Password:
1>

 

 


3.4 删除设置

使用mssql-conf工具的unset命令


/opt/mssql/bin/mssql-conf unset network.tcpport
/opt/mssql/bin/mssql-conf unset memory.memorylimitmb
……

 

重启实例生效


[root@134test ~]# systemctl restart mssql-server

 

 


3.5 查看当前设置及配置文件


cat /var/opt/mssql/mssql.conf

 

以下是官方提供的一个示例配置。可根据实际需要直接修改/var/opt/mssql/mssql.conf,最后重启数据库实例生效。未在此文件中显示的所有设置均使用其默认值。


[EULA]
accepteula
= Y
[coredump]
captureminiandfull
= true
coredumptype
= full
[filelocation]
defaultbackupdir
= /var/opt/mssql/data/
defaultdatadir
= /var/opt/mssql/data/
defaultdumpdir
= /var/opt/mssql/data/
defaultlogdir
= /var/opt/mssql/data/
[hadr]
hadrenabled
= 0
[language]
lcid
= 1033
[memory]
memorylimitmb
= 4096
[network]
forceencryption
= 0
ipaddress
= 10.192.0.0
kerberoskeytabfile
= /var/opt/mssql/secrets/mssql.keytab
tcpport
= 1401
tlscert
= /etc/ssl/certs/mssql.pem
tlsciphers
= ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
tlskey
= /etc/ssl/private/mssql.key
tlsprotocols
= 1.2,1.1,1.0
[sqlagent]
databasemailprofile
= default
errorlogfile
= /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel
= 7
[telemetry]
customerfeedback
= true
userrequestedlocalauditdirectory
= /tmp/audit
[traceflag]
traceflag0
= 1204
traceflag1
= 2345
traceflag
= 3456

 

 


4. 参考

更多的配置,请参考微软的官方文档:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-configure-mssql-conf

 

 

 

 



推荐阅读
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
詹姵慧3482
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有