开始安装

参考文档:https://www.jianshu.com/p/3eb1e178f51b

(最后使用windows本地docker,wsl中代理,因为当前版本不支持,最新版本据说支持了,没有尝试过)

docker常用命令

docker exec -it ecMysql bash 进入容器

docker logs slave -f

docker images

docker ps -a

docker kill xx

docker rm xx

docker rmi REPOSITORY:TAG //删除镜像 REPOSITORY:TAG(或者镜像id)命令格式

docker ps -a | grep 'Exited' | awk '{print $1}' | xargs docker stop | xargs docker rm //删除所有以及结束的容器

docker images | grep '' | awk '{print $3}' | xargs docker rmi //删除所有无用的镜像

WSL下要在管理员模式下开启bash

Settings设置Docker Enigine

可以设置morrors 这里是https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 阿里个人镜像

{

"registry-mirrors": [

"https://i20k2nmr.mirror.aliyuncs.com"

],

"insecure-registries": [],

"debug": true,

"experimental": false

}

在Windows PowerShell (管理员)下

先在新建 docker/mysql 和 docker/mysqlConf 文件夹

下载镜像

docker pull mysql

运行镜像

docker run -d --rm --name ecMysql \

-v D:\docker\mysql:/var/lib/mysql \

-v D:\docker\mysqlConf:/etc/mysql/conf.d \

-e MYSQL_ROOT_PASSWORD=123456 -p 3305:3306 mysql \

--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

cp -r /var/lib/mysql /opt/docker/master/mysql

cp -r /etc/mysql/my.cnf /opt/docker/master/my.cnf

cp -r /etc/mysql/conf.d /opt/docker/master/conf.d

cp -r /etc/mysql/mysql.conf.d /opt/docker/master/mysql.conf.d

$ docker run --name master \

-p 3306:3306 -e MYSQL_ROOT_PASSWORD=123455 \

-v /opt/docker/master/mysql:/var/lib/mysql \

-v /opt/docker/master/my.cnf:/etc/mysql/my.cnf \

-v /opt/docker/master/conf.d:/etc/mysql/conf.d \

-v /opt/docker/master/mysql.conf.d:/etc/mysql/mysql.conf.d \

-d mysql:latest

docker run --name slave \

-p 3307:3306 -e MYSQL_ROOT_PASSWORD=123455 \

-v /opt/docker/slave/mysql:/var/lib/mysql \

-v /opt/docker/slave/conf.d:/etc/mysql/conf.d \

-v /opt/docker/slave/mysql.conf.d:/etc/mysql/mysql.conf.d \

-d mysql:latest

vim /etc/mysql/mysql.conf.d/mysqld.cnf,看第84行:确认log_bin和server-id已经取消注释,保持从站和主站的server-id不同

这里就可以修改配置了。

改完之后,创建正式的mysql容器

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123455

-v /usr/local/mysql/data:/var/lib/mysql

-v /usr/local/mysql/my.cnf:/etc/mysql/my.cnf

-v /usr/local/mysql/conf.d:/etc/mysql/conf.d

-v /usr/local/mysql/mysql.conf.d:/etc/mysql/mysql.conf.d

-d mysql:5.7

如果my.cnf 是完整的配置,这里不需要映射conf.d和mysql.conf.d这二个目录

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123455

-v /usr/local/mysql/data:/var/lib/mysql

-v /usr/local/mysql/my.cnf:/etc/mysql/my.cnf

-d mysql:5.7

完成后 进入容器

docker exec -it ecMysql bash

登录数据库

mysql -u root -p

mysql -u root -h 127.0.0.1 -P 3306 -p

docker cp master:/etc/mysql/my.cnf /usr/local/mysql/master/my.cnf

docker cp /usr/local/mysql/master/my.cnf master:/etc/mysql/my.cnf

docker cp slave:/etc/mysql/my.cnf /usr/local/slave/master/my.cnf

docker cp /usr/local/slave/master/my.cnf slave:/etc/mysql/my.cnf

docker cp master:/etc/mysql/my.cnf d://my1.cnf

docker cp d://my1.cnf master:/etc/mysql/my.cnf

docker cp slave:/etc/mysql/my.cnf d://my2.cnf

docker cp d://my2.cnf slave:/etc/mysql/my.cnf

创建用户

CREATE USER 'jarry' @'%' IDENTIFIED WITH mysql_native_password BY 'jarry';

CREATE USER 'jarry'@'localhost' IDENTIFIED BY 'jarry';

查看MYSQL数据库中所有用户

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

查看数据库中具体某个用户的权限

show grants for 'cactiuser'@'%';

select * from mysql.user where user='cactiuser' \G

查看user表结构 需要具体的项可结合表结构来查询

desc mysql.user;

CREATE USER 'jarry'@'%' IDENTIFIED BY 'jarry';

GRANT REPLICATION SLAVE ON *.* TO 'jarry'@'%';

show grants for 'jarry'@'%';

主站查看MASTER_LOG_FILE

show master status;

从站配置

stop slave;

CHANGE MASTER TO

MASTER_HOST='192.168.2.101',

MASTER_PORT=3306,

MASTER_USER='root',

MASTER_PASSWORD='root',

MASTER_LOG_FILE='binlog.000002',

MASTER_LOG_POS=155;

start slave;

show slave status\G;

CHANGE MASTER TO

MASTER_HOST='192.168.2.101',

MASTER_PORT=3306,

MASTER_USER='BACKUP',

MASTER_PASSWORD='BACKUP';

start slave;

创建数据库

create database test1 default character set utf8;

Linux端

由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:

$ sudo apt-get remove docker docker-engine docker-ce docker.io

更新apt包索引:

$ sudo apt-get update

安装以下包以使apt可以通过HTTPS使用存储库(repository):

$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

添加Docker官方的GPG密钥:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

使用下面的命令来设置stable存储库:

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

再更新一下apt包索引:

$ sudo apt-get update

安装最新版本的Docker CE:

$ sudo apt-get install -y docker-ce

验证docker

查看docker服务是否启动:

$ systemctl status docker

若未启动,则启动docker服务:

$ sudo systemctl start docker

经典的hello world:

$ sudo docker run hello-world

有以上输出,表示docker安装成功.

安装mysql

设置镜像

为了永久性保留更改,您可以修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。

(我装的时候目录下没有这个文件需要自己添加)

vi /etc/docker/daemon.json

{

"registry-mirrors": ["https://registry.docker-cn.com"]

}

修改保存后重启 Docker 以使配置生效。

下载mysql

docker pull mysql

创建镜像-这里和windows一致 目前wsl无法使用独立守护

先创建一个镜像目录与my.cnf文件

mkdir -p /opt/docker_v/mysql/conf

touch my.cnf

docker run -p 3306:3306 --name mysql

-v /opt/docker_v/mysql/conf:/etc/mysql/conf.d

-e MYSQL_ROOT_PASSWORD=123456 -d mysql

-----这里出现问题 还是使用for windows

//在wsl端

export DOCKER_HOST=tcp://localhost:2375

docker设置端口2375

转载SYT_Boss 最后发布于2019-02-25 18:13:44 阅读数 1524 收藏

一、系统环境:

在Windows 7 64位上,采用Vmware workstation 12安装了CenOS7.5 64位。

二、问题

在CentOS7.5里安装了Docker,启动docker服务,输入docker version,则出现错误信息:

Cannot connect to the Docker datemon at tcp://0.0.0.0:2375 is the docker daemon runing?

三、解决过程

1、配置DOCKER_HOST

​ sudo vim /etc/profile.d/docker.sh

​ 添加下面内容:

​ export DOCKER_HOST=tcp://localhost:2375

2、应用

​ 1)、source /etc/profile

​ 2)、source /etc/bashrc

3、配置启动文件

​ 1)、sudo vim /lib/systemd/system/docker.service

​ 2)、修改下面语句

​ ExecStart=/usr/bin/dockerd -H unix://

​ 修改为:

​ ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -H tcp://0.0.0.0:7654

4、重载配置和重启

​ 1)、sudo systemctl daemon-reload

​ 2)、sudo systemctl restart docker.service

5、查看

​ docker version

​ 说明已经正常。

windows10 下 子系统(管理员bash)

Install packages to allow apt to use a repository over HTTPS

$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

Add Docker's official GPG key

Set up the repository

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Update source lists

sudo apt-get update

Install Docker

sudo apt-get install docker-ce

在WSL下安装MYSQL的实验报告_Linux(wsl)安装docker和mysql主从搭建相关推荐

  1. 大学计算机实验报告虚拟机,安装虚拟机的实验报告(共10篇).docx

    文档介绍: 安装虚拟机的实验报告(共10篇) 服务器配置与管理实验报告实验虚拟机的安装和使用专业网络工程班级XX级网5姓名吴越学号XX指导教师刘仁山 XX年11月1日一.实验目的本次实验的目的为了解虚 ...

  2. 计算机常用软件实验报告,计算机常用应用软件的安装和使用实验报告.doc

    计算机常用应用软件的安装和使用实验报告.doc 还剩 3页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 最后使用裁剪工具把图片裁回原大小最终结果截图: ...

  3. 在线安装计算机应用软件,计算机常用应用软件的安装和使用实验报告.doc

    计算机常用应用软件的安装和使用实验报告.doc 计算机常用应用软件的安装和使用实验报告姓名 学号专业 试验时间 一.实验目的1.通过这次实验能够在以后的学习和实践中,根据需要选择合适的绘图软件进行图形 ...

  4. 南工程c语言实验报告,Linux环境下-C语言编程实验报告(1)(总4页).doc

    Linux环境下-C语言编程实验报告(1)(总4页).doc 西 安 邮 电 大 学 (计算机学院)课内实验报告实验名称 Linux环境下 C语言编程 专业名称 网络工程班 级 1203班 学生姓名 ...

  5. Linux进程的创建和父子进程同步,操作系统实验报告_Linux进程创建与通信.doc

    操作系统实验报告_Linux进程创建与通信 2011-2012学年第一学期 专 业: 班 级: 学 号: 姓 名:提交日期:2011年11月实验二 Linux进程创建与进程通信 [实验目的 1. 熟悉 ...

  6. mysql备份与恢复实验报告_实验报告六MYSQL备份和恢复.doc

    实验报告六MYSQL备份和恢复.doc 班级:10应用 姓名:张红珍 学号:2010081133 指导老师:钟老师 实验六 MYSQL备份与恢复 实验平台:安装MYSQL数据库的PC 实验目的:1.熟 ...

  7. mysql数据库实验报告一

    实验报告一 前言 实验操作指导 解决方法 实验目的 实验内容及操作步骤 实验遇到的问题及体会 前言 <数据库原理I>实验指导书 实验课程性质:非独立开课 开课学期:第4学期 适用专业:计算 ...

  8. mysql备份与恢复实验报告_实验十一 MySQLl备份与恢复1

    实验十一MySQL备份与恢复 一.实验内容: 1. 使用SQL语句导入和导出表数据 2. 使用客户端工具备份还原数据库 3. 使用日志文件恢复数据库 二.实验项目:学生成绩数据库 创建用于学生成绩管理 ...

  9. php访问mysql数据库实验报告,php访问mysql数据库

    //建一个连接,造一个连接对象 $db = new MySQLi("localhost","root","123","mydb&q ...

最新文章

  1. 使用Jupyter notebook,为什么按下ctrl+enter后,没有输出,也没有报错,而是一直出现“*”呢?
  2. POJ - 1966 Cable TV Network(最小割-最大流)
  3. TotoiseSVN的上手教程
  4. Mysql数据库引擎快速指南
  5. iframe悬浮在html上_HTML Iframe
  6. navicat mysql server has gone away_Navicat中MySQL server has gone away错误怎么办【转载】
  7. Html5 dataset--自定义属性
  8. 第一篇博客:WPF中 ScrollViewer控件的ScrollIntoView方法
  9. DiscuzX模板制作-主题列表页_左边栏制作_V1
  10. delphi 分析抓取html,delphi网页数据抓取
  11. FFT算法实现,python,Java
  12. Blender插件BoxCutter 7.1.7v15 硬表面建模2.91+教程Box Cutter
  13. 总结:MUSTer中的keypoint matching以及利用RANSAC去除outliers
  14. MySQL程序员面试笔试宝典pdf_数据库程序员面试笔试宝典
  15. 针对0xc000007b问题的解决办法
  16. vr分类及其常见类型
  17. vue3.x 重复点击路由报错
  18. 研一一整年都在搞深度学习,研二醒悟打算转开发
  19. CTF-web暴力破解
  20. 数字图像处理与Python实现(岳亚伟主编)

热门文章

  1. js 报错:object is not a function
  2. 浅读《构建之法:现代软件工程》有感
  3. 【基于STM32F407IGT6】STemWin5.20d + uCOS-III + FatFS程序下载
  4. FFmpeg之获取yuv分量(二十二)
  5. Python3.6读写串口操作
  6. Android usb audio信息获取(一)
  7. Anroid camera + mediacodec
  8. Rtsp之H265解析
  9. 雷电3和Type C区别
  10. android安装git插件安装教程,Android Studio 3.6.1上使用gitee