主要分为三步:
- 停止mssql-server
- 使用 mssql-conf 重置密码
- 重启服务
停止 mssql-server
使用 sytemctl stop 命令停止 mssql-server,停止后检查一下状态确认是否停止
# 停止服务
systemctl stop mssql-server
# 查看服务状态
sytemctl status mssql-server
---------------------------------------------------
● mssql-server.service - Microsoft SQL Server Database Engine
Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Mon 2021-07-26 22:17:10 EDT; 23s ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Process: 1967 ExecStart=/opt/mssql/bin/sqlservr (code=exited, status=0/SUCCESS)
Main PID: 1967 (code=exited, status=0/SUCCESS)
Jul 26 21:51:58 localhost.localdomain sqlservr[1967]: 2021-07-26 21:51:58.63 Logon Login failed for user 'SA'. Reason: Password did not match that for the login...168.126.1]
Jul 26 21:52:04 localhost.localdomain sqlservr[1967]: 2021-07-26 21:52:04.85 Logon Error: 18456, Severity: 14, State: 8.
Jul 26 21:52:04 localhost.localdomain sqlservr[1967]: 2021-07-26 21:52:04.85 Logon Login failed for user 'SA'. Reason: Password did not match that for the login...168.126.1]
Jul 26 22:17:09 localhost.localdomain systemd[1]: Stopping Microsoft SQL Server Database Engine...
Jul 26 22:17:09 localhost.localdomain sqlservr[1967]: 2021-07-26 22:17:09.77 spid9s Always On: The availability replica manager is going offline because SQL Serv... required.
Jul 26 22:17:09 localhost.localdomain sqlservr[1967]: 2021-07-26 22:17:09.78 spid9s SQL Server is terminating in response to a 'stop' request from Service Contro... required.
Jul 26 22:17:09 localhost.localdomain sqlservr[1967]: 2021-07-26 22:17:09.89 spid26s Service Broker manager has shut down.
Jul 26 22:17:09 localhost.localdomain sqlservr[1967]: 2021-07-26 22:17:09.90 spid9s .NET Framework runtime has been stopped.
Jul 26 22:17:09 localhost.localdomain sqlservr[1967]: 2021-07-26 22:17:09.96 spid9s SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an info... required.
Jul 26 22:17:10 localhost.localdomain systemd[1]: Stopped Microsoft SQL Server Database Engine.
Hint: Some lines were ellipsized, use -l to show in full.
使用 mssql-conf 重置密码
mssql-conf
是 SqlServer 提供的位于 /opt/mssql/bin
的数据库配置工具,用它可以完成绝大多数的数据库配置, 这里需要用到 mssql-conf set-sa-password
命令来重置密码. 执行命令后会提示输入两次新密码.
关于 mssql-conf
的其他命令 可以移步到 SqlServer
官方文档
# 使用 mssql-conf 的 set-sa-password 重置密码, 随后输入两次新密码
/opt/mssql/bin/mssql-conf set-sa-password
---------------------------------------------------
Enter the SQL Server system administrator password:
Confirm the SQL Server system administrator password:
Configuring SQL Server...
ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
The system administrator password has been changed.
Please run 'sudo systemctl start mssql-server' to start SQL Server.
重启 SqlServer 服务
直接用 systemctl start
命令启动服务,随后检查一下服务的状态 Active
表示活动状态
# 重置完成后会提示重启服务, 跟着提示重启
systemctl start mssql-server
# 查看状态
systemctl status mssql-server
---------------------------------------------------
● mssql-server.service - Microsoft SQL Server Database Engine
Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2021-07-26 22:18:59 EDT; 12s ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 2631 (sqlservr)
CGroup: /system.slice/mssql-server.service
├─2631 /opt/mssql/bin/sqlservr
└─2633 /opt/mssql/bin/sqlservr
Jul 26 22:19:03 localhost.localdomain sqlservr[2631]: 2021-07-26 22:19:03.48 spid15s Clearing tempdb database.
Jul 26 22:19:03 localhost.localdomain sqlservr[2631]: 2021-07-26 22:19:03.63 spid28s Database 'msdb' running the upgrade step from version 902 to version 903.
Jul 26 22:19:03 localhost.localdomain sqlservr[2631]: 2021-07-26 22:19:03.67 spid28s Database 'msdb' running the upgrade step from version 903 to version 904.
Jul 26 22:19:03 localhost.localdomain sqlservr[2631]: 2021-07-26 22:19:03.84 spid15s [2]. Feature Status: PVS: 0. CTR: 0. ConcurrentPFSUpdate: 1.
Jul 26 22:19:03 localhost.localdomain sqlservr[2631]: 2021-07-26 22:19:03.85 spid15s Starting up database 'tempdb'.
Jul 26 22:19:04 localhost.localdomain sqlservr[2631]: 2021-07-26 22:19:04.05 spid15s The tempdb database has 1 data file(s).
Jul 26 22:19:04 localhost.localdomain sqlservr[2631]: 2021-07-26 22:19:04.06 spid26s The Service Broker endpoint is in disabled or stopped state.
Jul 26 22:19:04 localhost.localdomain sqlservr[2631]: 2021-07-26 22:19:04.07 spid26s The Database Mirroring endpoint is in disabled or stopped state.
Jul 26 22:19:04 localhost.localdomain sqlservr[2631]: 2021-07-26 22:19:04.09 spid26s Service Broker manager has started.
Jul 26 22:19:04 localhost.localdomain sqlservr[2631]: 2021-07-26 22:19:04.11 spid10s Recovery is complete. This is an informational message only. No user action is required.
验证是否成功
可以直接使用客户端 manage studio
输入新密码测试,也可以接住 sqlcmd
工具
sqlcmd -S . -U SA -P <新密码>
出现 1>
表示连接成功