1, 下载镜像, 我用的是8

docker pull mysql:8.0.

2, 启动镜像

docker run \
--name mysql8 \
-p : \
-v /Users/wenbronk/Containers/Data/mysql/data:/var/lib/mysql \
-v /Users/wenbronk/Containers/Data/mysql/log:/var/log/mysql \
-v /Users/wenbronk/Containers/Data/mysql/my.cnf:/etc/mysql/my.cnf:rw \
-e MYSQL_ROOT_PASSWORD=a75767626 \
--restart=always \
-d mysql:8.0.

my.cnf的内容

[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links= # Custom config should go here
!includedir /etc/mysql/conf.d/ default_authentication_plugin= mysql_native_password

default_authentication_plugin= mysql_native_password (这个是因应mysql8的安全机制升级而需要修改的配置,不配置的话将无法登录管理)

3, 连接进入mysql

docker run -it --link mysql8:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'

4, 通过docker-compse部署(未试用, 粘贴备用), 详见: https://hub.docker.com/_/mysql/

stack.yml

# Use root/example as user/password credentials
version: '3.1' services: db:
image: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: example adminer:
image: adminer
restart: always
ports:
- :

5, 开箱即用, 不需要 更改远程登陆

use mysql;
select host, user, authentication_string, plugin from user;
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;

https://blog.csdn.net/xinpengfei521/article/details/80403965

2, 之后, 发现版本太新, 好多东西和公司的不兼容, 在装个5.7吧...

1, 下载

docker pull mysql:5.7.27

2, 启动

docker run \
--name mysql5.7 \
-p : \
-v /Users/wenbronk/Containers/Data/mysql5.7/data:/var/lib/mysql \
-v /Users/wenbronk/Containers/Data/mysql5.7/log:/var/log/mysql \
-v /Users/wenbronk/Containers/Data/mysql5.7/my.cnf:/etc/mysql/my.cnf:rw \
-e MYSQL_ROOT_PASSWORD=a75767626 \
--restart=always \
-d mysql:5.7.27

my.cnf的配置

[client]
default-character-set=utf8 [mysql]
default-character-set=utf8 [mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

主要用来更改字符集等

3, 链接进mysql

docker run -it --link mysql5.7:mysql --rm mysql:5.7.27 sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'

4, 开箱即用, 不需要 远程登陆等授权

SET PASSWORD = PASSWORD('root');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT option;
flush PRIVILEGES;

新建用户等

CREATE USER 'resthome'@'%' IDENTIFIED BY 'uuU89890Jkfdsd8934jlkjf';
grant all privileges on 想授权的数据库.* to 'user1'@'%';

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

docker-mysql-使用docker运行mysql8的更多相关文章

  1. 【MySQL】Docker搭建MySQL8.0

    目录 Docker搭建MySQL8.0 目的: 1.安装Docker 2.查看docker镜像 3.拉取mysql官方镜像 4. 查看目前的镜像 5.运行docker mysql镜像 6.查看目前运行 ...

  2. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  3. 【docker】【mysql】docker安装mysql,阿里云docker镜像加速器,docker搜索查看远程仓库上的镜像,docker拉取镜像,查看本地所有镜像,查看容器的运行状况,查看容器的详细信息

    在docker上安装mysql有两种方式 1.通过Dockerfile构建 2.直接在docker hub上拉取镜像安装 =================本篇采用方法2=============== ...

  4. 关于安装运行MYSQL8.0简单使用及注意事项 On Docker Desktop & WSL2

    背景介绍 MYSQL是业界非常流行的一款关系型数据库系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.MySQL所使用的SQL语言是用于访问数据 ...

  5. 初试docker以及搭建mysql on docker

    前一阵阅读了google的borg论文,在最后的related works和总结中发现了kubernetes.从论文中了解的kubernetes这个东西很有意思,按照论文所说,它的实现有希望解决an ...

  6. docker+mysql 构建数据库的主从复制

    docker+mysql 构建数据库的主从复制 在最近的项目中,决定将项目改造成数据库读写分离的架构,后续会有博文详细讲述我的开发改造,本文主要记录我是如何一步步的构建数据库的主从复制. 为什么使用d ...

  7. 使用U盘安装Linux最美桌面发行版Elementary OS 及常用开发环境配置(JDK,Redis,MySQL,Docker,IDEA,STS)

    前言 假期在家无聊,刚好把六年前的一台笔记本电脑利用起来,原来电脑虽然说配置说不上古董机器,但是运行win系统感觉还是不流畅,所幸给换成Linux桌面版系统,在网上查阅了很多,Linux桌面系统要么推 ...

  8. Docker学习实践 - Docker安装MySql数据库

    Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...

  9. Linux(Manjaro) - Docker - MySQL 安装配置

    Linux(Manjaro) - Docker - MySQL 安装配置 拉取mysql镜像 # 使用网易的 MySQL 镜像地址 docker pull hub.c.163.com/library/ ...

  10. 解决mysql for docker容器报错:Authentication plugin 'caching_sha2_password' cannot be loaded

    为图方便,懒得在mac上安装mysql了,一个是管理不方便,第二个是为了方便多机器同步开发环境.就使用docker安装了. 拉取mysql镜像 docker pull mysql 运行mysql实例 ...

随机推荐

  1. C#语法基础----变量 符号 数据转换

    变量的作用:为了更好的管理内存数据,不同类型的数据存放在不同的内存块中. 变量的特点:不同数据类型占用的存储空间大小不一样. 变量的意义:内存地址是一串十六进制数,非常不好记忆,通过变量可以快速找到数 ...

  2. 使用原生代码实现一个Events模块,可以实现自定义事件的订阅、触发、移除功能

    function Events() { // 放置所有添加的 监听事件 this._events = {} } Events.prototype = { on: function (name, fn, ...

  3. Ubuntu16.04 GTX750安装CUDA9.0,Pytorch,Anaconda教程

    Ubuntu16 GTX750安装CUDA9.0,Pytorch,Anaconda教程 安装前警告 不要使用Ubuntu18! 不要使用Ubuntu18! 不要使用Ubuntu18! 务必重装成Ubu ...

  4. idea 出现Can't load AMD 64-bit .dll on a IA 32-bit platform错误

    这个错误是在说无法在IA 32位平台上加载AMD 64位.dll,解决方法如下 下载安装64位的jdk(方法和安装32位的一致,可百度查阅相关资料) 按如下步骤配置

  5. rmi与rpc的区别

    这里简单说一下RMI和RPC的区别. 什么是RMI RMI(Remote Method Invocation,远程方法调用),能够让在客户端Java虚拟机上的对象像调用本地对象一样调用服务端Java虚 ...

  6. [转]为什么group by后面不能使用别名(除MySQL)

    同事工作中遇到一个问题: select   count(billingdate),to_char(billingdate,'YYYYmm') month from tu_trade where to_ ...

  7. Spring Boot 2.2.2.RELEASE 版本中文参考文档【3.2 - 3.10】

    Spring Boot 2.2.2.RELEASE版本中文文档持续更新中~如有需要获取参考文档文件,关注公众号JavaSo,回复“参考文档”即可. 3.2 结构化代码 Spring Boot不需要任何 ...

  8. IDEA中安装EasyCode插件并连接数据库生成代码

    场景 EasyCode是基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml).只要是与数据库相关的代码都可以通过自定义模板来生成.支持数据库类型与j ...

  9. 企业架构如何实施的简介(TOGAF深度好文)

    本文来自企业架构学院: BangEA:如何实施企业架构? IT不仅是开展业务的手段,而且正在迅速演变为业务,IT绩效会直接影响企业的盈利能力,但很多企业并没有适时或充分的让IT组织参与业务的规划和决策 ...

  10. CSS学习笔记-盒子阴影及文字阴影

    盒子阴影:    1.格式:        box-shadow:h-shadow v-shadow blur spread color insert;        box-shadow:水平偏移 ...