簡體   English   中英

Linux 上的用戶“mssql”sqlsrv 沒有密碼條目

[英]No passwd entry for user 'mssql' sqlsrv on Linux

我使用mcr.microsoft.com/mssql/server:2017容器來運行 mssql 服務器。 我試圖改變這樣的排序規則:

echo "SQL_Latin1_General_CP1_CI_AS" | /opt/mssql/bin/mssql-conf set-collation

不幸的是,我收到此錯誤:

No passwd entry for user 'mssql'

如何修復這個錯誤?


我使用useradd mssql創建了一個新用戶,但現在如果我運行以下命令,則會出現此錯誤:

sqlservr: Unable to open /var/opt/mssql/.system/instance_id: File: pal.cpp:566 [Status: 0xC0000022 Access Denied errno = 0xD(13) Permission denied]
/opt/mssql/bin/sqlservr: PAL initialization failed. Error: 101

看起來最新的mcr.microsoft.com/mssql/server修復了這樣的問題,如果你堅持舊的,接下來可能是修復所有用戶/權限問題的過程:

cake@cake:~/20211012$ docker run --rm -it mcr.microsoft.com/mssql/server:2017-latest /bin/bash
SQL Server 2019 will run as non-root by default.
This container is running as user root.
To learn more visit https://go.microsoft.com/fwlink/?linkid=2099216.
root@4fd0bdf1d21c:/# useradd mssql
root@4fd0bdf1d21c:/# mkdir -p /var/opt/mssql
root@4fd0bdf1d21c:/# chmod -R 777 /var/opt/mssql
root@4fd0bdf1d21c:/# echo "SQL_Latin1_General_CP1_CI_AS" | /opt/mssql/bin/mssql-conf set-collation
Enter the collation: Configuring SQL Server...

The SQL Server End-User License Agreement (EULA) must be accepted before SQL
Server can start. The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746388.

You can accept the EULA by specifying the --accept-eula command line option,
setting the ACCEPT_EULA environment variable, or using the mssql-conf tool.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM