【Mac】在docker中还原数据库

准备

Docker连接SQL Server

还原数据库

1 创建镜像sql1的文件目录 并 拷贝文件

*backup_name 替换为需还原的备份文件路径

sudo docker exec -it sql1 mkdir /var/opt/mssql/backup

sudo docker cp backup_name.bak sql1:/var/opt/mssql/backup

2进入容器,执行命令

*container_name 替换为容器名

sudo docker exec -it container_name /bin/bash

使用RESTORE FILELISTONLY命令列出备份数据文件的逻辑名

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'dev@123,' -Q 'RESTORE FILELISTONLY FROM DISK = "/var/opt/mssql/backup/backup_name.bak"' | tr -s ' ' | cut -d ' ' -f 1-2

使用RESTORE DATABASE命令还原数据库

*database_name替换为要还原的数据库名称

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'dev@123,' -Q 'RESTORE DATABASE database_name FROM DISK = "/var/opt/mssql/backup/backup_name.bak" WITH MOVE "database_name" TO "/var/opt/mssql/data/database_name.mdf" , MOVE "database_name_log" TO "/var/opt/mssql/data/database_name_log.ldf"'

参考

SQLsever in docker 还原数据库

在Linux Docker忘记了数据库密码,我们可以按照以下步骤来解决这个问题: 1. 首先,我们需要进入到Docker容器的shell环境。可以使用以下命令进入Docker容器: ``` docker exec -it <container_id> /bin/bash ``` 请将`<container_id>`替换为你的Docker容器的ID。 2. 接下来,我们需要停止数据库服务。可以使用以下命令停止数据库服务: ``` service <service_name> stop ``` 请将`<service_name>`替换为你使用的数据库服务的名称(例如,MySQL)。 3. 然后,我们可以通过以下命令以跳过授权模式的方式来启动数据库服务: ``` service <service_name> start --skip-grant-tables ``` 同样,请将`<service_name>`替换为你使用的数据库服务的名称。 4. 现在我们已经成功启动了数据库服务,并且可以在不需要密码的情况下访问数据库。使用以下命令连接到数据库: ``` mysql -u root ``` 这将以root用户身份连接到MySQL数据库。 5. 连接到数据库后,我们可以重置数据库密码。使用以下命令来更改密码: ``` USE mysql; UPDATE user SET authentication_string=PASSWORD("<new_password>") WHERE User='root'; FLUSH PRIVILEGES; ``` 请将`<new_password>`替换为你想要设置的新密码。 6. 修改密码后,我们可以退出数据库并停止数据库服务。使用以下命令退出数据库: ``` EXIT; ``` 然后使用以下命令停止数据库服务: ``` service <service_name> stop ``` 7. 最后,我们需要重新启动数据库服务以应用新的密码设置。使用以下命令重新启动数据库服务: ``` service <service_name> start ``` 至此,我们已经成功重置了在Linux Docker忘记的数据库密码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值