docker 基础教程不再多说,这里只着重讲如何使用 docker 部署 mysql 服务

docker 拉取

访问 dockerhub,搜索关键词 mysql,我这里选择 mysql-server,然后执行拉取命令,注意可以选择tag版本,默认是latest

docker pull mysql/mysql-server:tag

等待拉取完成即可。

docker Mysql-server 启动与配置

docker 部署的优势就在于其快速便捷,下面就进行几项步骤:

启动 docker

该容器命名为mysql8,将容器端口3306映射到本地端口3306,以便在外部网络能够访问到。

docker run --name=mysql8 -d -p 3306:3306 mysql/mysql-server:latest

查看登录密码

大概等待几秒之后,mysql-server docker 完全启动之后再输入以下命令,否则可能查看不到。

docker logs mysql8 2>&1 | grep GENERATED
# GENERATED ROOT PASSWORD: Axegh3kAJyDLaRuBemecis&EShOs

执行 mysql 命令行程序

使用默认用户root,输入刚刚查看的mysql密码,进入 mysql 交互界面。

docker exec -it mysql8 mysql -uroot -p

修改 root 用户密码

初次进入 mysql 交互界面,必须要修改默认密码,之后才能进行其他操作。

必须提及的是,mysql 8.0 以后版本修改密码方式发生变化,这里需要注意。

在 mysql 8.0 以后,修改密码语句如下:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

在 mysql 5.7 以前,修改密码语句如下:

mysql> SET PASSWORD = PASSWORD('password');

之后可以进行其他操作了

创建数据库

CREATE DATABASE thinkphp;
use thinkphp;

创建表

CREATE TABLE user(
ID int PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(255),
email VARCHAR(255),
password VARCHAR(255),
img VARCHAR(512)
);

创建用户,分配权限

创建一个低权限用户,分配新建数据库的操作权限,以实现数据库降权,确保其安全性。

# create user
CREATE USER 'thinkuser'@'%' IDENTIFIED BY 'password';
# grant privileges
GRANT ALL ON thinkphp.* TO 'thinkuser'@'%';
# flush privileges
flush privileges;

访问服务

至此,Mysql server 已搭建完成,可以通过访问主机IP:3306来访问 Mysql 服务了。

如何利用 docker 快速部署 Mysql 服务的更多相关文章

  1. 利用Docker快速部署Mysql

    写在前面 我又来更新了~~~,今天内容较少,主要是利用Docker快速部署Mysql和初始化数据 利用Docker下载Mysql 简洁明了,在命令提示符中输入 docker pull mysql:8. ...

  2. 使用Docker快速部署各类服务

    使用Docker快速部署各类服务 一键安装Docker #Centos环境 wget -O- https://gitee.com/iubest/dinstall/raw/master/install. ...

  3. 如何利用docker快速构建MySQL主从复制环境

    在学习MySQL的过程中,常常会测试各种参数的作用.这时候,就需要快速构建出MySQL实例,甚至主从. 考虑如下场景: 譬如我想测试mysqldump在指定--single-transaction参数 ...

  4. 利用Docker快速部署Oracle环境

    工作中需要频繁使用Oracle环境,但是每次搭建起来比较消耗时间,本想通过虚拟机模板的方式来快速安装oracle vm,但是每次改ip等环境也很耗时,因此想到docker中有没有已经做好的images ...

  5. 私活利器,docker快速部署node.js应用

    http://cnodejs.org/topic/53f494d9bbdaa79d519c9a4a 最近研究了几天docker的快速部署,感觉很有新意,非常轻量级和方便,打算在公司推广一下,解放运维, ...

  6. docker stack 部署 mysql 5.6

    =============================================== 2018/7/1_第1次修改                       ccb_warlock === ...

  7. 使用Docker快速部署ELK分析Nginx日志实践

    原文:使用Docker快速部署ELK分析Nginx日志实践 一.背景 笔者所在项目组的项目由多个子项目所组成,每一个子项目都存在一定的日志,有时候想排查一些问题,需要到各个地方去查看,极为不方便,此前 ...

  8. 快速部署ldap服务

    快速部署ldap服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.LDAP概述 .什么是目录服务 ()目录是一类为了浏览和搜索数据二十几的特殊的数据库,例如:最知名的的微软公 ...

  9. 2.快速部署MySQL主从复制

      1.快速部署MySQL主从复制 [root@mysql ~]# mysql -uroot -p123456 -S /data/3307/mysql.sock -e "show slave ...

随机推荐

  1. 新鲜整理的Java学习大礼包!!锵锵锵锵~

    第一部分:Java视频资源! 前端 HTML5新元素之Canvas详解 https://www.bilibili.com/video/BV1TE41177TE HTML5之WebStorage详解 h ...

  2. java学习day01之String的特点,如何实现,并且有哪些重要方法?

    1.以主流的JDK版本1.8来说,String内部实际存储结构为char数组,源码如下: public final class String  implements java.io.Serializa ...

  3. JS 节点笔记

    h5新增自定义属性     为了保存并使用数据,有一些数据不必要保存到数据库中:     data开头作为自定义属性并赋值     兼容性获取element.getAttribute("da ...

  4. 【lhyaaa】最近公共祖先LCA——倍增!!!

    高级的算法——倍增!!! 根据LCA的定义,我们可以知道假如有两个节点x和y,则LCA(x,y)是 x 到根的路 径与 y 到根的路径的交汇点,同时也是 x 和 y 之间所有路径中深度最小的节 点,所 ...

  5. 【Python笔记】2020年7月30日练习【汉诺塔游戏】

    学习教程:廖雪峰-Python教程-函数-递归函数 学习笔记: 实例代码如下: def move(n, a, b, c): if n == 1: print(a,'--->', c) else: ...

  6. docker镜像,容器的操作和应用

    镜像操作 拉取镜像 从中央仓库拉取到本地 docker pull 镜像名称[:tag] #举个例子 :docker pull daocloud.io/libarary/tomcat:8.5.-jre8 ...

  7. java中ThrealLocal的理解

    目录 java中threadlocal的理解 一.threadlocal的生命周期和ThreadLocalMap的生命周期 二.ThreadLocal的作用 三.threadlocal示例 四.Inh ...

  8. tableau用户分类

    1.观察消费金额的分布 直接[消费金额]直方图趋势不明显的时候,可以考虑将金额对数化处理 这样看起来就近似个正态分布了 2.怎么看超市卖的最好的产品 更深层次的分析怎么做呢? 这个聚合字段在数据源不会 ...

  9. 2020-04-17:说说redis的rdb原理。假设服务器的内存8g,redis父进程占用了6g,子进程fork父进程后,子父进程总共占用内存12g,如何解决内存不足的问题?(挖)

    福哥答案2020-04-18: 这是一道挖坑题.内存占用只会比6g多一点,不会用12g.fork+cow.

  10. C#LeetCode刷题-字符串

    字符串篇 # 题名 刷题 通过率 难度 3 无重复字符的最长子串   24.6% 中等 5 最长回文子串   22.4% 中等 6 Z字形变换   35.8% 中等 8 字符串转整数 (atoi)   ...