Linux(wsl)安装docker和mysql主从搭建
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux(wsl)安装docker和mysql主从搭建,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7529字,纯文字阅读大概需要11分钟。
内容图文
![Linux(wsl)安装docker和mysql主从搭建](/upload/InfoBanner/zyjiaocheng/526/df3037fb88e04bab901e586958e27e36.jpg)
开始安装
参考文档: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
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
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
Linux(wsl)安装docker和mysql主从搭建
标签:内容 nts csdn rem -name 删除 tag offic ide
本文系统来源:https://www.cnblogs.com/jarryHu/p/13298227.html
内容总结
以上是互联网集市为您收集整理的Linux(wsl)安装docker和mysql主从搭建全部内容,希望文章能够帮你解决Linux(wsl)安装docker和mysql主从搭建所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。