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
>
发表回复