docker安装并运行mysql

  docker拉取mysql镜像:

[[email protected]_0_7_centos ~]$ sudo docker pull mysql:5.7
5.7: Pulling from library/mysql
80369df48736: Pull complete
e8f52315cb10: Pull complete
cf2189b391fc: Pull complete
cc98f645c682: Pull complete
27a27ac83f74: Pull complete
fa1f04453414: Pull complete
d45bf7d22d33: Pull complete
c7d49ffebc56: Pull complete
511a8052b204: Pull complete
5d5df4c12444: Pull complete
d482603a2922: Pull complete
Digest: sha256:44b33224e3c406bf50b5a2ee4286ed0d7f2c5aec1f7fdb70291f7f7c570284dd
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7

  docker拉取mysql之后,我们来启动它:

  先建好本地目录,以便跟docker做映射:

[[email protected]_0_7_centos ~]$ mkdir -p mydata/mysql/{log,lib,conf}

  再执行启动命令,使用参数进行映射:

[[email protected]_0_7_centos ~]$ sudo   docker run -p 3306:3306 --name mysql >   -v /mydata/mysql/log:/var/log/mysql >   -v /mydata/mysql/data:/var/lib/mysql >   -v /mydata/mysql/conf:/etc/mysql >   -e MYSQL_ROOT_PASSWORD=root  >   -d mysql:5.7
[sudo] password for mall:
8030a830a7b8af46fefd197e37c91cccfce867eb3593b08a64050fc90fefb98f

  参数说明:

  --name mysql:自定义容器名为“mysql”

  -p 3306:3306:前者是你当前主机的3306端口,后者是当前容器中的3306端口,做了一个映射

  -v /mydata/mysql/conf:/etc/mysql:将容器的配置文件夹/etc/mysql挂在到当前主机/mydata/mysql/conf

  -v /mydata/mysql/log:/var/log/mysql:将容器的日志文件夹/var/log/mysql挂载到当前主机/mydata/mysql/log

  -v /mydata/mysql/data:/var/lib/mysql/:将容器的数据文件夹/var/lib/mysql挂载到当前主机/mydata/mysql/data

  -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码为root

  我们进入该容器,登入mysql并创建新数据库mall:

[[email protected]_0_7_centos ~]$ sudo docker exec -it mysql /bin/bash
[sudo] password for mall:
[email protected]:/# mysql -uroot -proot --default-character-set=utf8
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.28 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> create database mall character set utf8;Query OK, 1 row affected (0.00 sec)

  将sql文件上传至本地:

[[email protected]_0_7_centos ~]$ cd mydata
[[email protected]_0_7_centos mydata]$ rz -y
rz waiting to receive.
 zmodem trl+C ?

  100%     185 KB  185 KB/s 00:00:01       0 Errors

  从本地复制sql文件到docker:

[[email protected]_0_7_centos ~]$ sudo docker cp mydata/mall.sql mysql:/
[sudo] password for mall: 

  重新登入mysql,进入mall数据库,执行导入操作:

mysql> use mall;
mysql> source /mall.sql;

  创建新账号,赋予所有权限给其他ip访问:

mysql> grant all privileges on *.* to ‘reader‘ @‘%‘ identified by ‘123456‘;
Query OK, 0 rows affected, 1 warning (0.00 sec)

原文地址:https://www.cnblogs.com/wuxun1997/p/11769697.html

时间: 2024-10-31 04:45:48

docker安装并运行mysql的相关文章

docker 安装最新版mysql 客户端连接不上的问题

问题:docker 安装mysql后,使用sqlyog连接不上: 1:进入docker容器中,发现mysql的加密方式为caching_sha2_password 2:修改加密方式 3:查看 4:完成! 原文地址:https://www.cnblogs.com/xkkdev/p/10783119.html

Docker安装并运行mysql5.6数据库

1.在/home目录下新建mysql目录 mysql目录中新建三个目录:conf目录.logs目录.data目录,建这些目录的目的是用来挂载docker中的mysql下的目录的. 结果如下: 1.1.然后在conf中写一个mysql的配置文件my.cnf,里面就是配置一些端口号啊.用什么模式啊,内存开多大啊什么的 配置内容如下:这是我在网上复制过来的,配置内容限制了一些东西,也没使用innodb引擎,根据自己需求配置 port= 3306 character-set-server=utf8 pe

centos 7.6 docker 安装nextcloud 使用mysql数据库

docker run --name=nextcloud_db -e MYSQL_ROOT_PASSWORD=你的密码 -d mysql:5 docker exec -it nextcloud_db mysql -u root -p docker exec -it nextcloud_db mysql -u root -p passwd: mysql> CREATE DATABASE nextcloud; docker run --name=nextcloud --link nextcloud_d

docker安装并运行rabbitmq

拉取镜像: [[email protected]_0_7_centos ~]$ sudo docker pull rabbitmq:3.7.15 [sudo] password for mall: 3.7.15: Pulling from library/rabbitmq 5b7339215d1d: Pull complete 14ca88e9f672: Pull complete a31c3b1caad4: Pull complete b054a26005b7: Pull complete e

在一台机子上,安装,运行两mysql数据库实例

为了方便测试,想要用到两个mysql数据库实例.以windows系统为例 当然安装第一个mysql数据库,很简单没什么说的.但是再要安装,运行mysql安装程序时,会提示,修复,卸载,重新安装. 这时需要下载一个免安装的mysql,zip文件的. 到点击打开链接选择,ZIP Archive格式的下载,根据系统选择32,64位 的. 我下载的是,mysql-5.5.20-winx64,下载后解压得到一个mysql-5.5.20-winx64文件夹, 里面没有my.ini文件,但是有很多不同的.in

Docker 安装以及运用

Docker 运行在 CentOS 7 上,要求系统为64位.系统内核版本为 3.10 以上.Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位.系统内核版本为 2.6.32-431 或者更高版本. a.使用 yum 安装(CentOS 7 root下) 1.查看centos内核版本# uname -r 2.卸载旧版本# yum remove docker \ docker-client \ docker-client-latest \ docker-

windows使用docker运行mysql等工具(二)安装运行mysql

今天接着上一篇的内容继续来学习安装运行mysql.建议先阅读第一篇:windows安装docker 一 查看mysql版本 如果想知道mysql镜像具体有哪几个版本,需要去docker hub查看. 地址如下: https://hub.docker.com/r/library/ 二 拉取mysql镜像 命令如下: docker pull 镜像名称:版本号 打开命令窗口输入 docker pull mysql:8.0 等待几分钟就完成了,然后输入以下命令查看镜像 docker images 三 启

Docker安装MySQL Tomcat Python Redis MongoDB Apache

Docker 安装 MySQL 方法一.docker pull mysql 查找Docker Hub上的mysql镜像 [email protected]:/mysql$ docker search mysql NAME                     DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED mysql                    MySQL is a wide

33.Docker安装Mysql及用户配置

mysql在官方上有两个镜像 这个是一个优化过的mysql 使用这个命令 安装mysql 演示最简单的方式去安装mysql: 这种方式安装的用户名没有,密码没有 docker run -d -p 3306:3306 --name mysql01 mysql/mysql-server :如果本身没有安装过mysql的镜像的话会自动去下载这个镜像 docker ps:看到mysql01正在运行 我们用客户端去连接测试一下 连接不上去的原因呢是因为我们没有在mysql上加用户,加配置 docekr l