Deepin使用docker安装mysql数据库过程详解

先查询MySQL源

docker search mysql

也可以去官网查看镜像tag,选择自己需要的版本,否则会下载最新版本:https://hub.docker.com/_/mysql/
然后报错了!!!

root@deepin-PC:/etc/apt# docker pull mysql:8.0.11
Error response from daemon: Get https://registry-1.docker.io/v2/library/mysql/manifests/8.0.11: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fmysql%3Apull&service=registry.docker.io: net/http: TLS handshake timeout

换成国内的镜像源

echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://f2d6cb40.m.daocloud.io\"" | sudo tee -a /etc/default/docker

重启docker

sudo service docker restart

再试一下

root@deepin-PC:/etc/docker# docker pull mysql:8.0.11
8.0.11: Pulling from library/mysql
be8881be8156: Pull complete
c3995dabd1d7: Pull complete
9931fdda3586: Pull complete
bb1b6b6eff6a: Pull complete
a65f125fa718: Pull complete
2d9f8dd09be2: Pull complete
37b912cb2afe: Pull complete
90a9e6fd6a27: Pull complete
959ebd3ef120: Pull complete
5eda665eddc4: Pull complete
d9007173a367: Pull complete
239f4d989075: Pull complete
Digest: sha256:ffa442557c7a350939d9cd531f77d6cbb98e868aeb4a328289e0e5469101c20e
Status: Downloaded newer image for mysql:8.0.11
docker.io/library/mysql:8.0.11

验证一下

root@deepin-PC:/etc/docker# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 8.0.11 5dbe5b6313e1 21 months ago 445MB

为docker创建一个专门放mysql 的文件夹

root@deepin-PC:/etc/docker# cd /opt/
root@deepin-PC:/opt# mkdir mysql_docker
root@deepin-PC:/opt# cd mysql_docker/
root@deepin-PC:/opt/mysql_docker# echo $PWD
/opt/mysql_docker

启动mysql容器

docker run --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:8.0.11

查看完整容器id

cd /var/lib/docker/containers/

查看启动的容器

root@deepin-PC:/opt/mysql_docker# docker ps
CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS                NAMES
1f9aa5b79b6a    mysql:latest    "docker-entrypoint.s…"  About a minute ago  Up 59 seconds    0.0.0.0:3306->3306/tcp, 33060/tcp  mysql

进入mysql(可以用容器id替换mysql)

docker exec -it mysql bash

连接mysql

mysql -u root -p 123456

授予远程访问权限

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select host,user from user;
+-----------+------------------+
| host   | user       |
+-----------+------------------+
| %     | root       |
| localhost | mysql.infoschema |
| localhost | mysql.session  |
| localhost | mysql.sys    |
| localhost | root       |
+-----------+------------------+
5 rows in set (0.00 sec)

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.02 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

查看docker日志:

root@deepin-PC:/opt/mysql_docker# docker ps -a
CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS                NAMES
1f9aa5b79b6a    mysql:latest    "docker-entrypoint.s…"  6 minutes ago    Up 6 minutes    0.0.0.0:3306->3306/tcp, 33060/tcp  mysql
root@deepin-PC:/opt/mysql_docker# docker logs -f --tail 10 1f9aa5b79b6a
2020-05-11 14:14:30+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up.

2020-05-11T14:14:30.702850Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2020-05-11T14:14:30.702952Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.20) starting as process 1
2020-05-11T14:14:30.712787Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-05-11T14:14:31.064937Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2020-05-11T14:14:31.191792Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock' bind-address: '::' port: 33060
2020-05-11T14:14:31.284386Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2020-05-11T14:14:31.292565Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2020-05-11T14:14:31.312549Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.20' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL.

一些常用操作

先查看容器的id

docker ps -a

查到id

以下id为容器id

关闭mysql

docker stop id

重启

docker restart id

启动

docker start id

**关闭docker **

systemctl stop docker

重启docker

systemctl restart docker

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Docker 安装 MySQL(8和5.7)

    本篇将介绍如何使用 Docker 部署 MySQL 数据库及远程访问配置 安装 MySQL 拉取镜像 使用下面的命令拉取 MySQL 数据库的镜像: $ sudo docker pull mysql # 拉取最新版本的镜像,当前为 MySQL 8 版本,tag 为 latest $ sudo docker pull mysql:5.7 # 指定拉取 MySQL 5.7 版本 也可以使用搜索命令,查找其他的 MySQL 相关镜像,其中有标识 Stars 数,即受欢迎程度. $ sudo docke

  • VMware中安装CentOS7(设置静态IP地址)并通过docker容器安装mySql数据库(超详细教程)

    一位读大二的学弟问我怎么安装配置这些,我简单的整了一个教程,这里记录一下,并分享给需要的朋 安装过程学习使用足够,实际工作中有些繁琐的配置略过了! 打开VM虚拟机,菜单栏[文件]-->选择[新建虚拟机],选择"o自定义(高级)"-->[下一步] 默认一直点[下一步]到选择安装盘的位置,选择自己已经下载好的官方DVD镜像文件(不要整别的镜像,避免走不必要 的坑) [下一步]设置虚拟机名称(取一个合适的名称,设置合适的路径) 处理器设置默认,安装好虚拟centos后可以根据情况

  • Docker部署Django+Mysql+Redis+Gunicorn+Nginx的实现

    一. 前言 docker技术现在非常火热,通过容器构建项目环境,运行效率和部署效率都很不错.所以最近抽空看了一些教程,然后将博客部署方式改为了docker,感觉网上没有特别好的关于 docker 部署 django 项目的教程,特意写了这篇文章,算是记录自己的心得. 本次教程的测试环境为 Deepin ,主要侧重于 容器的编排 和 Django 相关部署知识,一些细节方面,例如环境依赖安装,不会讲得特别详细.由于是在本地测试,所以在配置 nginx 相关信息时,将配置 http 代理而非 htt

  • docker下mysql 8.0.20 安装配置方法图文教程

    docker安装mysql版本8.0.20,供大家参考,具体内容如下 第一步 下拉镜像 docker pull mysql:8.0.20 第二步 启动镜像 docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20 查看是否启动成功 docker ps -a 第三步 启动成功后,进入容器内部拷贝配置文件,到宿主主机. docker cp mysql:/etc/mysql /mnt/sda1/

  • 使用 docker-compose 运行 MySQL的方法

    目录结构 . │ .env │ docker-compose.yml │ └─mysql ├─config │ my.cnf │ └─data mysql 目录下的 data 为数据目录,mysql 的数据表.二进制日志文件就在这里..env 文件包含了一些变量,这些变量可以在 docker-compose.yml 文件中通过 ${variable_name} 来引用. 当然也可以把 mysql 的目录放到其它地方,这里图个方便,直接放在 yml 文件同级目录了. .env 文件 MYSQL_R

  • docker部署mysql 实现远程连接的示例代码

    1.docker search mysql   查看mysql版本 2.docker pull mysql  要选择starts最高的那个name 进行下载 3.docker images  查看下载好的镜像 4.启动mysql实例 docker run --name dockermysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql  --name 为mysql的实例设置别名. -p 3307为对外暴露的端口.3306是内

  • 基于Docker如何实现MySQL主从复制详解

    前言 MySQL的主从复制是实现应用的高性能,高可用的基础.对于数据库读操作较密集的应用,通过使数据库请求负载均衡分配到不同MySQL服务器,可有效减轻数据库压力.当遇到MySQL单点故障中,也能在短时间内实现故障切换.本文就MySQL的内建的复制功能进行阐述. 版本 MySQl: 5.7.17 CentOS: 7.4.1708 Docker: 1.13.1 概述 MySQL复制数据流程: 主库在数据更新提交事务之前,将事件异步记录到binlog二进制日志文件中,日志记录完成后存储引擎提交本次事

  • 详解使用Docker部署MySQL(数据持久化)

    本文简述如何使用Docker部署mysql,同时持久化数据.我们会用到tutum-docker-mysql 这个项目来搭建一个mysql,省去重头写Dockerfile的时间. 首先我们将tutum-docker-mysql跑起来. docker run -d -p 3306:3306 --name mysql tutum/mysql 如果你本地没有tutum/mysql的image,docker会先下载它的image,这一步可能会用些时间.待执行完毕我们检查一下应该会有如下样子 tutum-d

  • Docker版的MySQL5.7升级到MySQL8.0.13,数据迁移

    1.备份旧的MySQL5.7的数据 记得首先要备份旧的数据,防止升级失败导致数据丢失.备份的方式有两种,一种是在宿主机直接执行导出命令,另外一种是先进入Docker环境下进行操作.主要的导出命令如下: #方式一,直接在宿主机器进行数据备份 # 0df568 是docker的id ;-uroot -p123456 是用户名和密码;dbA dbB是要备份的数据,--databases 后面可以接多个数据库名,导出的sql到/root/all-databases3306.sql docker exec

  • Deepin使用docker安装mysql数据库过程详解

    先查询MySQL源 docker search mysql 也可以去官网查看镜像tag,选择自己需要的版本,否则会下载最新版本:https://hub.docker.com/_/mysql/ 然后报错了!!! root@deepin-PC:/etc/apt# docker pull mysql:8.0.11 Error response from daemon: Get https://registry-1.docker.io/v2/library/mysql/manifests/8.0.11:

  • Ubuntu 18.04.4安装mysql的过程详解 亲测可用

    1 sudo apt-get update 2 sudo apt-get install mysql-server 3 sudo mysql_secure_installation # 初始化配置 #1 VALIDATE PASSWORD PLUGIN can be used to test passwords... Press y|Y for Yes, any other key for No: N (我的选项) #2 Please set the password for root here

  • Ubuntu 18.04.4安装mysql的过程详解 亲测可用

    下面看下Ubuntu 18.04.4安装mysql的过程,内容如下所示: 1 sudo apt-get update 2 sudo apt-get install mysql-server 3 sudo mysql_secure_installation # 初始化配置 #1 VALIDATE PASSWORD PLUGIN can be used to test passwords... Press y|Y for Yes, any other key for No: N (我的选项) #2

  • 微信小程序云函数使用mysql数据库过程详解

    前言 小程序云开发的功能是越来越强大了,现在小程序云开发可以直接借助云函数来链接mysql数据,操作mysql数据库了,今天就来给大家讲一讲如何使用小程序云开发的云函数来操作mysql数据库. 首先要明确一点,就是小程序云开发的云函数是基于node.js的,所以我们使用node.js的mysql2模块可以直接来链接并操作mysql数据库,所以我们现在要做的就是怎么样在云函数里使用mysql2模块,并且借助这个模块类库来实现mysql数据库的链接. 老规矩,先看效果图 我们这里要做的就是在云函数里

  • Linux Docker安装wordpress的方法详解教程

    安装mysql服务 下载mysql镜像: docker pull mysql 创建mysql容器并后台运行,指定数据库密码是123456.-e指定环境变量. docker run --name mysql_db -e MYSQL_ROOT_PASSWORD=123456 -d mysql 使用官方的wordpress wordpress镜像daocloud.io: docker pull daocloud.io/daocloud/dao-wordpress:latest 拉取镜像前请先登录: d

  • CentOS 7.0下使用yum安装mysql的方法详解

    CentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1.下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2.安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mys

  • Linux下安装mysql的教程详解

    1. 关闭mysql服务 # service mysqld stop 2. 检查是否有rpm包,如果没有用rpm安装过mysql,不应该有残留,如果有,需要删掉 检查语法: rpm -qa|grep -i mysql 删除语法: rpm -e <包的名字> 如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包. 3. 通过find命令检查是否有安装mysql文件,有需要删除 检查语法: find / -name mysql 删除语

  • Redis3.2.11在centos9安装与卸载过程详解

    首先更新yum环境 yum -y update 1.安装gcc环境 yum -y install gcc 2.首先下载redis安装包 cd /home/apps wget http://download.redis.io/releases/redis-3.2.11.tar.gz 3.解压 tar xzvf redis-3.2.11.tar.gz mv redis-3.2.11 /home/software/ 4.编译 cd /home/software/redis-3.2.11 make 5.

  • 微信小程序访问mysql数据库流程详解

    目录 1 开通云上的mysql 2 创建自定义连接器 3 创建云函数 4 安装依赖 5 出参映射 6 在小程序中使用连接器 总结 1 开通云上的mysql 经过询价,我发现阿里云的数据库是比较便宜的,新人购买非常划算.对于爱学习的博主来说,果断购买一个. 按照操作指引购买后,云会帮你创建一系列的环境,在控制台就可以看到属于自己的实例 点击操作列上的管理,就可以创建我们自己的数据库.配置的步骤是先创建数据库的账号 然后创建一个数据库 都设置好之后就可以登录数据库,创建表,加数据了 刚创建好的数据库

  • docker 使用GPU的过程详解

    目录 下载tf-gpu 基于拉的tf-gpu镜像构建自己的镜像 启动镜像检查GPU是否可用 以TensorFlow2.0为例 下载tf-gpu 在docker hub里选择要下载的tf版本(注意选带GPU和py3的) https://hub.docker.com/r/tensorflow/tensorflow/ 如: docker pull tensorflow/tensorflow:2.0.3-gpu-py3 如果上述下载超时,可以配置清华源. 或者通过如下命令下载: docker pull

随机推荐