docker 容器恢复mysql数据库

不知什么原因,docker中的mysql容器被删除,但是留下了每张表的.frm以及.ibd文件。记录一下修复过程

  1. docker 新建数据库容器
  2. 将老数据库文件(包含.frm,.ibd的文件夹)复制到新数据库
  3. 登录数据库并授权:GRANT ALL ON mysql.* TO 'root'@'%';
  4. 将老数据库的ibdata1复制到新数据库中
  5. 重启数据库即可
要在 Docker 容器外部创建 MySQL 数据库,您可以使用以下步骤: 1. 首先,请确保您已在主机上安装了 MySQL 客户端工具,例如 MySQL Shell 或 MySQL Workbench。如果尚未安装,请根据您的操作系统下载并安装适当的版本。 2. 运行以下命令连接到正在运行的 MySQL 容器: ``` mysql -h <container_ip> -P <container_port> -uroot -p ``` 将 `<container_ip>` 替换为 MySQL 容器的 IP 地址,`<container_port>` 替换为容器内部的 MySQL 服务端口。如果您不确定这些值,请使用以下命令查找容器的详细信息: ``` docker inspect <container_id_or_name> | grep IPAddress ``` 这将显示与容器关联的 IP 地址。 3. 输入 MySQL 的 root 用户密码以登录到容器内的 MySQL 服务器。 4. 在 MySQL 客户端中使用以下命令创建数据库: ``` CREATE DATABASE your_database; ``` 将 `your_database` 替换为您想要创建的实际数据库名称。 5. 您还可以选择性地指定其他选项,如字符集和排序规则。例如: ``` CREATE DATABASE your_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 这将创建一个使用 utf8mb4 字符集和 utf8mb4_unicode_ci 排序规则的数据库。 现在,您已成功在 MySQL 容器外部创建了数据库。您可以使用 MySQL 客户端工具继续管理和操作该数据库。 请注意,确保您已正确指定容器的 IP 地址和端口,以及容器中的 MySQL root 用户密码。如果您使用的是非默认的用户和密码,请相应地更改 `-uroot -p` 部分。 希望这能帮助到您!如有任何进一步的问题,请随时提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值