mysql 强上docker容器加主从设置

1.先说一下背景

这个服务器的mysql经常发疯┌∩┐(ಠ͜ʖಠ)┌∩┐ 我找了很多次没找到原因,每次重启就行,但这样很烦的,于是就打算改;

2.方案:

1)使用docker 把mysql容器化,以便原来的mysql扔到,弹性增加性能

先下一个mysql镜像

docker pull mysql

2)然后运行一下

docker run –name mysql -p 3390:3306 -v /mydata/mysql2/:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD="mi_ma" -d mysql 

这里设置一下端口 以便wordpress访问,把mysql容器的一个data目录映射到本地以便备份.

稍微说一下 -v 文件映射, -p 端口映射 把本机的3390映射到容器的3306,-e设置 env变量值

3)把本机的数据库备份 直接使用命令

mysqldump -u root -p wordpress>word.sql

输入密码后完成

4)将word.sql放到容器中,一个是通过刚才映射的目录

另一个是使用docker cp 容器名:容器目录/文件 本机目录/文件

5)然后登录mysql容

docker exec -it mysql bash

6)将word.sql恢复到数据库中

my -uroot -p 输入密码

新建一个用户,新建一个数据库

create database wordpress;

use wordpress;

source word.sql;

完成恢复数据,use 数据库一定不能忘,

7)修改wordpress的配置信息

在你的wordpress文件中

vim wp-config.php

修改你的用户 和密码 

对于地址localhost一定要改成127.0.0.1:端口 ,使用loaclhost:端口不能用 凸( •̀_•́ )凸

8)删掉你的本机上的mysql就可以了

9)用容器做个主从

3.主从设置:

1)mysql 至少要两个,但对于两个是什么类型没有限制,网络也没限制,可以是两个容器,也可以是本机客户端加容器,而且对于内网外网也没限制,我使用的就是两个容器

2)编写配置文件两个容器都是my.cnf

[mysqld]
log-bin=mysql-bin # 开启二进制日志
server-id=1 #主服务器 从服务器id都是唯一的 1,2,---;

3)将文件放入容器中

介绍一下cp用法:

docker cp 容器名:目录/文件 本机目录/文件 将容器文件复制到本机中

docker cp 本机目录/文件 容器名:目录/文件 将本机文件复制到容器中,

docker cp my.cnf mysql-master:/etc/mysql/conf.d/my.cnf //两个容器都是

4)对于主服务器设置master

进入主服务器master的mysql中

输入以下命令

create user '用户名'@'ip可设%' IDENTIFIED BY '密码';

grant 操作replication slave on . to '用户名'@'ip可设';

使用 show master status 查看设置

记住file 和position




>


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注