GVKun编程网logo

无法在 linux 上删除 mssql-server(linux无法删除用户)

5

这篇文章主要围绕无法在linux上删除mssql-server和linux无法删除用户展开,旨在为您提供一份详细的参考资料。我们将全面介绍无法在linux上删除mssql-server的优缺点,解答l

这篇文章主要围绕无法在 linux 上删除 mssql-serverlinux无法删除用户展开,旨在为您提供一份详细的参考资料。我们将全面介绍无法在 linux 上删除 mssql-server的优缺点,解答linux无法删除用户的相关问题,同时也会为您带来Databricks:在 cron 上删除 root DBFS 上的集群日志和修订、django 连接 mssql 数据库 (django 1.11.11 sql server 2008 R2)、Docker mssql-server-linux:如何在构建期间启动.sql文件(来自Dockerfile)、lnmp 环境里安装 mssql 及 mssql 的 php 扩展的实用方法。

本文目录一览:

无法在 linux 上删除 mssql-server(linux无法删除用户)

无法在 linux 上删除 mssql-server(linux无法删除用户)

如何解决无法在 linux 上删除 mssql-server

为了使用 ASP.Net,我想安装 mssql-server。不幸的是,在安装结束后,它应该会出现一些错误。所以,我想删除这个错误的安装来尝试重新安装。但是当我尝试通过 sudo apt-get remove mssql-server 删除 mssql-server 时,它显示了以下错误:

  1. System has not been booted with systemd as init system (PID 1). Can''t operate.
  2. Failed to connect to bus: Host is down
  3. dpkg: error processing package mssql-server (--remove):
  4. installed mssql-server package post-removal script subprocess returned error exit status 1
  5. Errors were encountered while processing:
  6. mssql-server
  7. E: Sub-process /usr/bin/dpkg returned an error code (1)

Databricks:在 cron 上删除 root DBFS 上的集群日志和修订

Databricks:在 cron 上删除 root DBFS 上的集群日志和修订

如何解决Databricks:在 cron 上删除 root DBFS 上的集群日志和修订

试图调查高数据块费用我惊讶地发现其中很多实际上是自动创建的存储帐户,通过 GRS 复制到另一个包含大量日志文件的区域(TB 上 TB 数据) 例如:

dbutils.fs.ls(''dbfs:/cluster-logs'')
dbfs:/cluster-logs/1129-093452-heard78

如何在不删除前一天左右的日志的情况下每天自动删除这些数据

还有我如何将这些日志发送到其他地方(如果我愿意)

解决方法

其中一种解决方案是为日志创建一个没有 GRS 选项的单独存储帐户,并将文件的保留期设置为特定的时间量,例如几天。应该挂载此存储帐户,并将日志位置更改为指向该挂载。例如,您可以通过 cluster policies 强制执行该操作。

可以使用 Microsoft 的 spark-monitoring 将群集日志发送到 Azure Log Analytics(有关详细信息,请参阅 official docs)。如果您想将它们发送到其他地方,您可以设置 init scripts(集群或全局),并使用特定客户端发送您需要的任何日志。

django 连接 mssql 数据库 (django 1.11.11 sql server 2008 R2)

django 连接 mssql 数据库 (django 1.11.11 sql server 2008 R2)

 

模块使用的是 pcodbc+django-pyodbc-azure

1 pip install django-pyodbc-azure 
2 pip install pyodbc

版本分别为

pyodbc==4.0.26

django-pyodbc-azure==2.1.0.0

创建数据库连接

DATABASES = {
    ''default'': {
        ''ENGINE'': ''sql_server.pyodbc'',
        ''HOST'': ''127.0.0.1'',
        ''PORT'': '''',
        ''NAME'': ''test'',
        ''USER'': ''sa'',
        ''PASSWORD'': ''123'',
        ''OPTIONS'': {
            ''driver'': ''ODBC Driver 13 for SQL Server'',
            ''MARS_Connection'': True,
        }
    }
}

# set this to False if you want to turn off pyodbc''s connection pooling
# 不想用pyodbc连接就把这句加上?
DATABASE_CONNECTION_POOLING = False

在对应的 app/models.py 添加 model 

from django.db import models

# Create your models here.
class userinfo(models.Model):
    #如果没有models.AutoField,默认会创建一个id的自增列
    name = models.CharField(max_length=30)
    email = models.EmailField()
    memo = models.TextField()

项目文件下目录下执行

python manage.py makemigrations
python manage.py migrate

报错

django.db.utils.InterfaceError: (''IM002'', ''[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)'')

原因是未安装 ODBC 驱动

前往微软官网下载驱动

https://www.microsoft.com/zh-CN/download/details.aspx?id=53339

Microsoft® ODBC Driver 13.1 for SQL Server

如果下载其他版本 ''driver'': 字段要自行修改 

再次执行

1 python manage.py makemigrations
2 python manage.py migrate

查看数据库

如出现以上表说明连接成功

 

Docker mssql-server-linux:如何在构建期间启动.sql文件(来自Dockerfile)

Docker mssql-server-linux:如何在构建期间启动.sql文件(来自Dockerfile)

我正在尝试使用MSsql DB创建自己的Docker镜像以进行开发.它基于microsoft / mssql-server-linux映像.在构建期间,我想将一些.sql文件复制到容器中,然后运行这些脚本(创建数据库模式,表,插入一些数据等).我的Dockerfile看起来像这样:

# use MSsql 2017 image on Ubuntu 16.04
FROM microsoft/mssql-server-linux:2017-latest

# create directory within sql container for database files
RUN mkdir -p /opt/mssql-scripts

# copy the database files from host to container
copY sql/000_create_db.sql /opt/mssql-scripts

# set environment variables
ENV MSsql_SA_PASSWORD=P@ssw0rd
ENV ACCEPT_EULA=Y

# run initial scripts
RUN /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'P@ssw0rd' -i /opt/mssql-scripts/000_create_db.sql

在我看来,000_create_db.sql的内容并不重要.

真正的问题是当我尝试使用命令docker build -t demo构建这个Dockerfile时.我总是得到这些错误:

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..

但是当我删除最后一个命令(运行初始脚本)时,构建并运行图像,并调用相同的命令:

docker build -t demo .
docker run -p 1433:1433 --name mssql -d demo
docker exec -it mssql "bash"
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'P@ssw0rd' -i /opt/mssql-scripts/000_create_db.sql

一切都进展顺利.为什么我不能从Dockefile运行脚本?

从mssql-server-linux dockerfile看起来mssql是在docker run上启动的,所以你必须修改你的dockerfile中的最后一个“RUN”命令,在后台启动sql-server,运行你的sql文件并停止sql-服务器.

RUN /opt/mssql/bin/sqlservr --accept-eula & sleep 10 \
    && /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'P@ssw0rd' -i /opt/mssql-scripts/000_create_db.sql \
    && pkill sqlservr 

lnmp 环境里安装 mssql 及 mssql 的 php 扩展

lnmp 环境里安装 mssql 及 mssql 的 php 扩展

小活中用到 mssql, 于是在自己 lnmp 环境中安装各 mssql 数据库

步骤如下: 

源码编译安装

(1)下载 freetds-stable-0.91 源码: http://download.csdn.net/download/xhu_eternalcc/7457555(花了 4 积分,没有积分的找我要,微信 zmd1047773569)
          上传到根目录下的 download 文件中
(2)编译安装:
   # cd /download

           # tar zxvf freetds-stable.tgz(解压,)

 

   # cd freetds-0.91

   # 编译

            # ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib

            # make

            # make install

            参数解释:

            安装 freetds 到目录 /usr/local/freetds:--prefix=/usr/local/freetds

            支持 MSSQL2000:--with-tdsver=8.0 --enable-msdblib

 

配置 FreeTds 的库文件

将 freetds 的库文件所在路径配置到 LD_LIBRARY_PATH 参数中:

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/localfreetds/lib/:

或者直接把 etc/bashrc 的文件 bashrc 直接填写上  LD_LIBRARY_PATH=/usr/localfreetds/lib:$LD_LIBRARY_PATH

这么作的目的是为了避免加载 FreeTds 库文件加载不上的情况。

 

 

php 里安装 php-mssql 扩展:

cd /download (把php-mssql扩展下载到download目录里)
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz (下载扩展文件,这里要根据你环境中运行的php版本选择对应的扩展版本下载,我这里php是5.6.30的 所以php-mssql扩展下载对应的版本) tar -zxvf php-5.6.30.tar.gz cd /php-5.6.30/ext/mssql
 /usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds/ 

make
&& make install

编译安装后的结果 如下图

 

同时 mssql.so 也在 php 扩展文件下生成 (如下图)

 

 

 

 把 extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/mssql.so"  添加到 usr/local/php/lib/php.ini 中

 引用扩展后,重启 web 服务,通过 phpinfo 查看扩展 mssql 是否开启成功

重启 php   /usr/local/php/sbin/php-fpm reload  

重启 nginx  进入 nginx 可执行目录 sbin 下,输入命令./nginx -s reload 即可(或者 /application/nginx/sbin/nginx -s reload)

 

 

 

今天关于无法在 linux 上删除 mssql-serverlinux无法删除用户的介绍到此结束,谢谢您的阅读,有关Databricks:在 cron 上删除 root DBFS 上的集群日志和修订、django 连接 mssql 数据库 (django 1.11.11 sql server 2008 R2)、Docker mssql-server-linux:如何在构建期间启动.sql文件(来自Dockerfile)、lnmp 环境里安装 mssql 及 mssql 的 php 扩展等更多相关知识的信息可以在本站进行查询。

本文标签: