这篇文章主要围绕无法在linux上删除mssql-server和linux无法删除用户展开,旨在为您提供一份详细的参考资料。我们将全面介绍无法在linux上删除mssql-server的优缺点,解答l
这篇文章主要围绕无法在 linux 上删除 mssql-server和linux无法删除用户展开,旨在为您提供一份详细的参考资料。我们将全面介绍无法在 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无法删除用户)
- 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
为了使用 ASP.Net,我想安装 mssql-server。不幸的是,在安装结束后,它应该会出现一些错误。所以,我想删除这个错误的安装来尝试重新安装。但是当我尝试通过 sudo apt-get remove mssql-server
删除 mssql-server 时,它显示了以下错误:
System has not been booted with systemd as init system (PID 1). Can''t operate.
Failed to connect to bus: Host is down
dpkg: error processing package mssql-server (--remove):
installed mssql-server package post-removal script subprocess returned error exit status 1
Errors were encountered while processing:
mssql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
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)
模块使用的是 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)
我正在尝试使用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运行脚本?
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 扩展
小活中用到 mssql, 于是在自己 lnmp 环境中安装各 mssql 数据库
步骤如下:
源码编译安装
# 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-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 扩展等更多相关知识的信息可以在本站进行查询。
本文标签: