当前位置:首页 » 存储配置 » mysql文件存储docker

mysql文件存储docker

发布时间: 2022-12-23 05:03:38

‘壹’ docker mysql 容器 数据库文件怎么娴宿主机器上

1. 首先创建一个目录并在目录下创建一个Dockerfile,文件内容如下

[plain] view plain print?
FROM centos:centos6
MAINTAINER Fanbin Kong "[email protected]"

RUN yum install -y mysql-server mysql

RUN /etc/init.d/mysqld start &&\
mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'letmein';"&&\
mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'letmein';"&&\
mysql -u root -pletmein -e "show databases;"

EXPOSE 3306

CMD ["/usr/bin/mysqld_safe"]

‘贰’ 【docker】 数据存储:redis、mysql、mongo、elasticsearch



 使用5.6版本,容器内数据文件所在位置:/var/lib/mysql

‘叁’ windows装的docker;mysql保存操作问题

可以通过docker ps -a 查看刚结束的mysql容器;直接开启容器:docker start 容器id。
还可以用数据卷保存mysql容器操作的数据。

‘肆’ docker mysql 容器 数据库文件怎么娴宿主机器上

docker跟宿主机交互的是通过原生网络实现的。

当Docker进程启动之后,它会配置一个虚拟的网桥叫docker0在宿主机上。这个接口允许Docker去分配虚拟的子网给即将启动的容器们。这个网桥在容器内的网络和宿主机网络之间将作为接口的主节点。

Docker容器启动后,将创建一个新的虚拟接口并分配一个网桥子网内的IP地址。这个IP地址嵌在容器内网络中,用于提供容器网络到宿主机docker0网桥上的一个通道。Docker自动配置iptables规则来放行并配置NAT,连通宿主机上的docker0,就可以访问宿主机的mysql数据文件了。

‘伍’ docker mysql 容器 数据库文件怎么娴宿主机器上

原因是文件夹没权限,同时把宿主和容器中相应的文件夹设置为归属mysql用户,但结果是只有一个文件夹归属mysql用户,再次把不是归属mysql的文件夹设置为归属mysql用户后,另一个文件夹又变成不归属mysql用户,这是什么原因?如下所示: 宿主: chmod +w /data/volumes-mysql chown -R mysql:mysql /data/volumes-mysql chcon -R -t mysqld_db_t /data/volumes-mysql 容器: chmod +w /home/databases/mysql/data chown -R mysql:mysql /home/databases/mysql/data chcon -R -t mysqld_db_t /home/databases/mysql/data cd /data/volumes-mysql ls -al drwxr-xr-x. 2 27 27 4096 12月 3 20:09 . drwxr-xr-x. 6 root root 4096 12月 3 19:54 .. -rw-rw----. 1 27 27 18874368 12月 3 20:09 ibdata1 -rw-rw----. 1 27 27 5242880 12月 3 20:09 ib_logfile0 -rw-rw----. 1 27 27 5242880 12月 3 20:09 ib_logfile1 cd /home/databases/mysql/data ls -al drwxr-xr-x. 2 mysql mysql 4096 Dec 3 12:09 . drwxr-xr-x. 3 root root 4096 Dec 3 12:02 .. -rw-rw----. 1 mysql mysql 5242880 Dec 3 12:09 ib_logfile0 -rw-rw----. 1 mysql mysql 5242880 Dec 3 12:09 ib_logfile1 -rw-rw----. 1 mysql mysql 18874368 Dec 3 12:09 ibdata1

‘陆’ 怎么linux本地mysql放到docker中

  1. 如果对MySQL比较熟悉,那么可以使用MySQL异机迁移的方法:

    1. 先确定MySQL的运行系统、发行版、版本号,以前的配置文件。

    2. 根据以上信息在Docker环境下新建一台全新的MySQL。

    3. 根据业务需要实施停机迁移/在线迁移,将数据迁入Docker内的MySQL。

      1. 停机迁移:直接拷贝数据文件(物理迁移)、全量Dump导出(逻辑备份迁移)、xtraback备份(物理备份迁移)

      2. 在线迁移:将新库作为从库加入集群,完成同步后fo切换,原主库下线。

  2. 如果对Docker比较熟悉,可以使用Docker整机迁移的方法:

    1. 整机虚拟化直接作为一个镜像在Docker内运行。

    2. 这种方法虽然简单,但过程漫长而且运行时性能损耗非常大,也容易出问题,不是很推荐。

‘柒’ MySQL 到底能不能放到 Docker 里跑

MySQL 到底能不能放到 Docker 里跑
当我们的mysql 容器启动后,想要登陆mysql 的数据库怎么办。以下介绍几种方法, 其他容器的登陆也可以仿效。 第一: 启动容器后用link 链接, 官方的mysql 容器有以下几个环境变量。 docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-se.

‘捌’ docker mysql数据会保存下来吗

默认会保留下来,位置一般都在/var/lib/docker目录里面,就是docker镜像跑的地方,但是一旦重启或者容器,或者容器挂掉了,你的数据就没了。
所以,一般我们要用docker容器跑数据库的话,都是要用持久化存储的,比如挂载的目录单独存在一个地方,或者三方nfs存储里面。

‘玖’ linux服务器端有一个mysql,如何部署到docker容器里

步骤1:为我们的容器创建第一个镜像
# 以 centos 镜像作为基础镜像,我们启动自己的容器并在其中执行/bin/bash命令
# 注:-t -i 参数用于创建一个虚拟的命令行。
sudo docker run -t -i centos /bin/bash
现在我们已经成功的运行了自己的第一个容器,并且进入到容器的命令行界面中。在容器中,我们执行下面的命令:

yum -y update # 更新软件包
yum install which # 安装which命令
yum install git # 安装Git

安装完成后,按 Ctrl + d 来退出容器的命令行。
# 执行sudo docker ps -a,可以看到被我们终止的容器
CONTAINER ID IMAGE COMMAND CREATED……
da9031d3568f centos:6.4 /bin/bash 5 minutes ago…..
把我们所做的改变提交到一个新的容器:
# 这里我们创建一个自己的基础容器,容器中安装好了文章中所需的常用工具。读者的容器 id 可能与文章中的有所不同,以上一步 docker ps -a 的结果为准。
sudo docker commit da90 custom/base
容器成功提交后,执行 sudo docker images ,我们会看到刚才提交的容器(如下面的结果所示)。我们就以这个容器为基础容器,再来创建一个新的容器。
REPOSITORY TAG IMAGE ID CREATED
custom/base latest 05b6cecd370b 2 minutes ago
centos 6.4 539c0211cd76 10 months ago
centos latest 539c0211cd76 10 months ago…
步骤2:创建新的容器,并安装 apache
# 以 custom/base 容器为基础,运行一个新的容器。

sudo docker run -t -i custom/base /bin/bash

# 安装 httpd

yum install httpd

步骤3:再次提交新的容器
按 Ctrl + d 来退出容器的命令行,然后执行命令:
# 这个命令会把步骤2中我们安装 httpd 带来的改变提交到新的名为 custom/httpd 的容器镜像中。你的容器 id 可能会和文章中有所不同,以 sudo docker ps -a 命令的结果为准。

sudo docker commit aa6e2fc0b94c custom/httpd

你应该已经发现了,我们创建了一个带有 http 服务器并可以复用的容器镜像。你可以根据这种思想,为自己所需的每个组件都创建一个容器,然后把这些容器复用于开发环境或者生产环境。
步骤7:运行 http 服务器
# -v will Mount a volume from VM to the container which was also shared from host to Vagrant VM.
# -v 参数把主机共享给虚拟机的一个卷挂载到容器中
# -p forward VM port 80 to container port 80; VM port 80 is mapped to host port 8080 in Vagrantfile
# -p 参数把虚拟机的80端口映射到容器的80端口;虚拟机的80端口在 Vagrantfile 中被绑定到主机的8080端口,也就是:主机8080->虚拟机80->容器80
sudo docker run -t -i -p 80:80 -v /vagrant/htdocs:/var/www/html custom/httpd /bin/bash
# 启动 Apache
apachectl -k start

‘拾’ 在Docker中安装MySQL5.7

docker pull mysql:5.7

将全部的配置文件和关联的文件夹统一放到 /opt/docker/mysql 中

创建 MySQL 配置文件文件夹
mkdir -p /opt/docker/mysql/conf.d

增加并修改配置文件 config-file.cnf
vim /opt/docker/mysql/conf.d/config-file.cnf

输入如下内容:

创建 MySQL 数据文件夹
mkdir -p /opt/docker/mysql/var/lib/mysql

启动,设置默认密码 root ,TZ 设置容器的默认时区

Windows使用这条:

进入容器
docker exec -it mysql bash

进入 MySQL
mysql -uroot -p
输入刚才我们设置的密码 root

授权
mysql> GRANT ALL ON *.* TO 'root'@'%';

刷新权限
mysql> flush privileges;

更新加密规则
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;

更新 root 密码
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';

刷新权限
mysql> flush privileges;

退出容器
exit

启动容器
docker start mysql

停止容器
docker stop mysql

重启容器
docker restart mysql

进入容器
docker exec -it mysql bash

删除容器
docker rm mysql

查看日志
docker logs -f mysql

备份数据
docker exec mysql sh -c 'exec mysqlmp --all-databases -uroot -p 密码' > /usr/local/all-databases.sql

恢复数据
docker exec -i mysql sh -c 'exec mysql -uroot -p 密码' < /usr/local/all-databases.sql

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:600
制作脚本网站 发布:2025-10-20 08:17:34 浏览:892
python中的init方法 发布:2025-10-20 08:17:33 浏览:585
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:769
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:689
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1016
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:261
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:119
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:809
python股票数据获取 发布:2025-10-20 07:39:44 浏览:718