docker 安装mysql 和挂载

仓库位置:

https://hub.docker.com/_/mysql/

安装的同时挂载data资料卷和config 配置的资料卷刀磁盘上

docker run -d -p 3306:3306 \
-e MYSQL_USER="soaeon" \
-e MYSQL_PASSWORD="#Liu123456" \
-e MYSQL_ROOT_PASSWORD="#Liu123456" \
--name mysql01 -v /docker/mysql/config/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql mysql/mysql-server:5.7

你听我解释呀!

  • -d 是后台运行
  • -e(environment)MYSQL_USER 指定用户
  • -e(environment)MYSQL_PASSWORD 指定用户的密码
  • -e(environment)MYSQL_ROOT_PASSWORD 指定root用户的密码
  • --name mysql01 指定容器的名字是mysql01 对应的镜像文件是mysql/sql-server:5.7
  • -v 挂载文件的地址:文件实际所在的地址

/docker/mysql/config/my.cnf 一定要先创建起来 my.cnf 内容如下:

[mysqld]

user=mysql

/docker/mysql/data 这个文件夹也要先创建起来, 而且这个文件夹必须是个空的哟

docker容器相关的操作命令

  • docker ps 查看运行中的容器

  • docker ps -a 查看全部的容器

  • docker images 查看所有的镜像

  • docker start mysql01 启动msyql01 容器

  • docker logs mysql01 查看mysql01容器的logs

  • docker stop mysql01 停止mysql01容器

  • docker restart mysql01 重启mysql01容器

  • docker rm mysql01 删除容器 mysql01

  • docker rmi images_id 删除镜像images_id

mysql 配置

PS:如果安装的过程中没有指定MYSQL_ROOT_PASSWORD的话, 我们需要去logs 中查看默认的密码哟

操作过程如下:

执行命令: docker logs mysql01 ,如果没没有: [Entrypoint] GENERATED ROOT PASSWORD选项,执行以下操作

  1. 进入容器的bash环境 docker exec -it mysql01 bash
  2. 登陆mysql mysql -uroot -p
  3. 输入密码 , 但是我们不知道密码是啥呀 那就直接回车吧
  4. 退出吧 exit
  5. 再次查看日志 docker logs mysql01 生成初始密码了 呃呃呃呃呃

进入mysql的 bash环境:

docker exec -it mysql01(容器名字) bash

查询账号:

select user ,host from user;

update user set authentication_string=password('#Liu123456') where user='root';

新增一个账户, 并赋予远程登陆的权限:

CREATE USER 'root'@'%' IDENTIFIED BY '#Liu123456';

grant all privileges on *.* to 'root'@'%' identified by '#Liu123456' with grant option;

flush privileges;

查看mysql的默认字符集:

show variables  like '%charac%';
mysql> show variables  like '%charac%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

推出mysql的bash环境:

mysql> exit
Bye
bash-4.2# exit
exit
[root@host /]#

修改挂载资料卷下的my.cnf文件中的字符集(退出bash环境,使用vi命令):

[root@host /]# vi docker/mysql/config/my.cnf
[mysql]
default-character-set=utf8 [client]
default-character-set=utf8 [mysqld]
character-set-server=utf8
collation-server = utf8_unicode_ci
user=mysql

docker 中安装mysql 文档

大爷们拿去吧

https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/docker-mysql-more-topics.html

docker使用记录二:mysql安装与配置的更多相关文章

  1. Docker之Mysql安装及配置

    原文:Docker之Mysql安装及配置 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zhaobw831/article/details/8014 ...

  2. 二:mysql安装配置、主从复制配置详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/8213723.html 邮箱:moyi@moyib ...

  3. PPTP + FreeRADIUS + MySQL 安装与配置

    原文地址:http://www.zhukun.net/archives/5375 PPTP + FreeRADIUS + MySQL 安装与配置 2012/03/29Linux运维centos.Fre ...

  4. Linux下MySQL安装及配置

    Linux下MySQL安装及配置 安装MySQL Ubuntu系统中,直接使用apt install的方式去安装MySQL的服务端和客户端,MySQL的客户端必须安装,否则无法通过命令连接并操作MyS ...

  5. CentOS 6.5系统使用yum方式安装LAMP环境和phpMyAdmin,mysql8.0.1/mysql5.7.22+centos7,windows mysql安装、配置

    介绍如何在CentOs6.2下面使用YUM配置安装LAMP环境,一些兄弟也很喜欢使用编译的安装方法,个人觉得如果不是对服务器做定制,用yum安装稳定简单,何必去download&make&am ...

  6. MySQL 安装 + 精简 + 配置

    MySQL 安装 + 精简 + 配置 下载安装 从官网 下载 Community Edition MySQL 5.6 版本 精简 根目录下只留 [data/bin/share] , my-defaul ...

  7. Linux下MySQL安装和配置

    --Linux下MySQL安装和配置 ---------------------------2014/05/18 Linux下MySQL的配置和安装 本文的安装采用 rpm 包安装 1.首先在官网下载 ...

  8. MySQL安装、配置、测试

    MySQL安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.MySQL安装配置 4.Java访问MySQL测试 5.注事事项 6.相关博文 >>看不清的图片 ...

  9. centos 7.3 服务器环境搭建——MySQL 安装和配置

    centos 7.3 服务器环境搭建——MySQL 安装和配置服务器信息如下:服务器:阿里云系统 centos 7.3 (阿里云该版本最新系统)mysql版本:5.7.18 (当前时间最新版本)连接服 ...

随机推荐

  1. Java中的容器(集合)之HashMap源码解析

    1.HashMap源码解析(JDK8) 基础原理: 对比上一篇<Java中的容器(集合)之ArrayList源码解析>而言,本篇只解析HashMap常用的核心方法的源码. HashMap是 ...

  2. java_第一年_JDBC(2)

    上篇说到,通过JDBC可实现java编程程序和mysql数据库进行连接并交互,而交互后所形成的结果集是通过ResultSet对象来操作的. 创建ResultSet对象: stmt = conn.cre ...

  3. MongoDB数据库-基础篇

    一使用mongodb 1.常用的命令 show dbs    显示数据库列表 use dbname    进入dbname数据库,大小写敏感,没有这个数据库也不要紧 show collections ...

  4. 全栈开发系列学习2——django项目搭建

    项目代码:http://yunpan.cn/cHajgT4HvgHqx (提取码:8350) 配置项目: 1. 首先确保你的机器安装了python和pip,这两种安装比较简单,这里就不说了. 2. 在 ...

  5. smbd - 向客户提供SMB/CIFS服务的服务器

    总览 SYNOPSIS smbd [-D] [-F] [-S] [-i] [-h] [-V] [-b] [-d <debug level>] [-l <log directory&g ...

  6. Java疯狂讲义笔记——枚举类

    枚举类 ——Java5[基础知识]1,定义枚举类——关键字 enum (地位与class.interface相同).2,枚举类是一个特殊的类,可以有成员变量.方法,实现一个或多个接口,定义自己的构造器 ...

  7. 条款2:尽量使用const ,enum,inline替换define

    宁可使用编译器而不用预处理器 假设我们使用预处理器: #define ABC 1.56 这标识符ABC也许编译器没看到,也许它在编译器处理源码前就被预处理器移走了,于是“标识符”ABC没有进入标识符列 ...

  8. yara规则的二进制漏洞

    https://www.anquanke.com/post/id/147675 yara32.exe 后缀.yar

  9. Vue组件-组件组合

    组件设计初衷就是要配合使用的,最常见的就是形成父子组件的关系:组件 A 在它的模板中使用了组件 B. <html> <head> <title>Vue组件 A 在它 ...

  10. 再谈lmbench

    摸了一轮ltp-ddt 再回头来看lmbench bandwidth & latency合集小王子 用起来确实方便. 只是官网显示的用法是: Go to the top directory, ...