Docker 容器启动 mysql -V 挂载数据目录 备份数据

请大神们多多指点评论,不胜感激

1.通过 docker  下载 mysql:8.0.1 镜像

2.创建文件备份目录 

mkdir -p /home/mysql/{conf,logs,data/mysql}

3.my.cnf 文件  大概是这样 ,可自行修改

# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA

#
# The MySQL  Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Custom config should go here
!includedir /etc/mysql/conf.d/
4.创建容器 并启动 mysql

docker run -ti -p 3306:3306 --name mysql -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/mysql/logs:/logs -v /home/mysql/data/mysql:/var/lib/mysql -d mysql:8.0.1 /bin/bash mysqld


要将MySQL中原来注册的用户数据从一个Docker容器迁移到另一个Docker容器(使用数据容器进行备份和迁移),可以按照以下步骤进行操作: 1. 创建数据容器:首创建一个数据容器,用于备份原始MySQL容器中的数据。可以使用以下命令创建数据容器: ``` docker create --volumes-from <original_mysql_container> --name data_backup busybox ``` 这将创建一个名为`data_backup`的数据容器,并从`original_mysql_container`容器挂载数据卷。 2. 备份数据数据容器:运行一个新的临时MySQL容器,并将备份数据挂载到该容器中。然后,使用`mysqldump`命令将原始MySQL容器中的数据导出到数据容器中。可以按照以下步骤进行操作: ``` docker run --rm --volumes-from data_backup -v <local_backup_dir>:/backup mysql:latest \ sh -c 'mysqldump -h <original_mysql_container> -u <mysql_user> -p<mysql_password> <database_name> > /backup/db_backup.sql' ``` 在上述命令中,替换`<original_mysql_container>`为原始MySQL容器的名称,`<mysql_user>`和`<mysql_password>`为MySQL的用户名和密码,`<database_name>`为要备份数据库名称,`<local_backup_dir>`为本地主机上用于保存备份文件的目录。 3. 恢复数据到新的MySQL容器创建一个新的MySQL容器,将数据容器中的备份文件挂载到新容器中,并使用`mysql`命令将备份文件中的数据导入到新的MySQL容器中。可以按照以下步骤进行操作: ``` docker run -d --name new_mysql_container -v <local_backup_dir>:/backup -e MYSQL_ROOT_PASSWORD=<new_password> mysql:latest docker exec -i new_mysql_container sh -c 'mysql -u root -p<new_password> < /backup/db_backup.sql' ``` 在上述命令中,替换`<local_backup_dir>`为本地主机上保存备份文件的目录,`<new_password>`为新MySQL容器的root用户密码。 通过以上步骤,您可以将原始MySQL容器中的用户数据备份数据容器中,并迁移到新的MySQL容器中。请根据实际情况替换命令中的参数,并确保备份和迁移过程中的数据安全性和完整性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值