Docker搭建Mysql5.6配置主从数据库
发表于|更新于|技术博客
|总字数:839|阅读时长:3分钟|浏览量:
- Master 主库
- Slave 从库
Master的MySQL导出SQL
通过mysqldump
命令导出数据库SQL文件
mysqldump -uroot -p --all-databases --lock-all-tables > /root/master_5.6_db.sql |
上述命令报错可指定-h 127.0.0.1 -P 3306
在尝试
mysqldump -h 127.0.0.1 -P 3306 -uroot -po8oxpClXxNI3vQQjY65e --all-databases --lock-all-tables > /root/master_5.7_db.sql |
- -p 后拼接密码(若不拼接,则确认命令后在输入密码即可)
指定数据库导出SQL用法
mysqldump -h 127.0.0.1 -P 3306 -uroot -po8oxpClXxNI3vQQjY65e --databases db01 db02 --lock-all-tables > /root/master_5.7_new_db.sql |
- db01 数据库
- db02 数据库(多个数据库,空格隔开)
备注:在slave服务器恢复时,需要上述db库已存在,若单个db库则需要指定use
dbName
在进行source /root/db.sql
操作
Slave的MySQL导入并执行SQL
登录mysql
mysql -uroot -pxxx |
执行还原SQL命令
source /root/master_db.sql |
配置Master的MySQL的my.cnf
[mysql] |
配置Slave的MySQL的my.cnf
[mysql] |
配置Master数据库
授权Slave从库对Master主库的可读复制权限
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repl'@'%' IDENTIFIED BY 'GrantT^Slave130'; |
repl
账号GrantT^Slave130
密码
刷新Master主库权限
flush PRIVILEGES |
刷新日志文件
flush logs; |
获取Master主库的bin-log日志及日志点位置
show master status; |
配置Slave数据库
停止从库
第一次配置是不需要,若中途发生错误
start slave
,则后续需要停止在重新开始。
stop slave |
登录Slave从库的控制台
mysql -uroot -p |
配置Master节点信息
CHANGE MASTER TO MASTER_HOST='192.168.0.121',MASTER_USER='repl',MASTER_PASSWORD='GrantT^Slave130',MASTER_LOG_FILE='mysql-bin.000020',MASTER_LOG_POS=154; |
- MASTER_USER 主库配置Slave的账号
- MASTER_PASSWORD 主库配置Slave的密码
- MASTER_LOG_FILE 主库日志文件
- MASTER_LOG_POS 主库日志数据当前位置
启动Slave从库同步Master主库命令
start slave |
查看主从库同步状态(从库执行)
show slave status \G; |
文章作者: MUMU
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 blog.wo0ow.com!
相关推荐
2023-06-22
Docker安装Mysql各其他版本记录
Mysql 5.7.4docker run --privileged=true \--name mysql5.7.4 \--restart=always \--privileged=true \-p 4457:3306 \-e MYSQL_ROOT_PASSWORD=123456 -d \ -v /home/docker/mysql_5.7.4/data:/var/lib/mysql \ -v /home/docker/mysql_5.7.4/conf:/etc/mysql/ \ -v /home/docker/mysql_5.7.4/logs:/var/log/mysql \mysql:5.7.4 备份恢复 参考博客:https://blog.csdn.net/qq_41782425/article/details/88621138 a数据库服务器 mysqldump -uroot -p --all-databases --lock-all-tables > ~/master_db.sql b数据库服务器 mysql -uroot -p123456...
2023-06-13
Docker下安装Mysql
参考博客:Docker下安装Mysql-01 参考博客:Docker下安装Mysql-02 参考博客:Docker下安装Mysql-03 通过Docker拉取Mysql镜像docker pull mysql:5.6 运行Docker下Mysql容器mysql-5.6docker run \-d \-p 3306:3306 \--restart=always \--privileged=true \-v /home/docker/mysql/logs:/var/log/mysql \-v /home/docker/mysql/conf:/etc/mysql/conf.d \-v /home/docker/mysql/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=123456 \--name mysql_5_6 mysql:5.6 \--character-set-server=utf8mb4 \--collation-server=utf8mb4_general_ci -d 表示后台运行 -p...
2023-06-21
Docker中部署Nginx
参考博客:Docker 安装 Nginx 容器 (完整详细版) 下载Nginx镜像下载最新镜像 docker pull nginx 下载指定镜像 docker pull nginx:xxx Docker中部署Nginx前期准备创建Nginx目录 mkdir -p /home/nginx/{conf,log,html} 初始化运行nginx容器 docker run --name nginx -p 9001:80 -d nginx 复制nginx容器中配置文件到宿主机 docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d docker cp nginx:/usr/share/nginx/html /home/nginx/ 停止并删除nginx容器 docker stop 容器id && docker rm 容器id 开始部署docker...
2023-06-15
Docker构建Tomcat和war包镜像
参考博客:docker制作tomcat镜像并部署war包 参考博客:docker快速入门 参考博客:Dockerfile常用指令 前期准备 下载JDK的包例如:jdk-8u151-linux-x64.tar.gz 下载Tomcat-xxx.tar.gz的包例如:apache-tomcat-8.5.54.tar.gz 准备部署项目*.war包例如:demo_war.war 将以上文件均放置同一目录下,例如:/root/mumu下 编写DockerFile文件#FROM指令:用来指定基础镜像FROM centos#MAINTAINER指令:设置创建镜像的作者的标识MAINTAINER mumu#ADD指令:拷贝文件或目录到镜像,如果是URL或压缩包会自动下载或自动解压ADD jdk-8u151-linux-x64.tar.gz /usr/local/ADD apache-tomcat-8.5.54.tar.gz /usr/local/#RUN指令:构建镜像时运行的shell命令RUN chmod a+x /usr/local#ENV指令:设置容器环境变量ENV MYPATH...
2023-06-22
Linux下Docker安装
Linux安装Docker|往期文章 centos安装docker显示 No package docker-ce available Docker使用常用命令 基于Centos7安装Docker下载关于docker的依赖环境 yum -y install yum-utils device-mapper-persistent-data lvm2 设置Docker的镜像源(如果不设置,默认会从官网下载) yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 刷新缓存 yum makecache fast 安装docker yum -y install docker-ce 启动docker服务 systemctl start docker 设置docker开机启动 systemctl enable docker 验证安装结果 docker info 打印hello-world docker run hello-world
2023-05-27
Idea打包SpringBoot多模块项目以Docker镜像方式部署
文档简述 Linux环境下安装Docker,并且开启外部访问2375端口 Idea项目的根目录编辑DOCKERFILE文件 注意: FROM 引用的镜像,linux下docker需要pull拉取该镜像 Idea项目配置war打包方式改为jar方式 Idea配置Docker插件,并设置远程docker的服务地址 DockerLinux下Docker的安装 参考博客:Linux docker 环境搭建 配置Docker的镜像加速此处不予赘述 安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 安装Docker-CE yum install -y docker-ce 启动Docker systemctl enable dockersystemctl start docker Docker开放外部访问端口编辑配置文件vim /usr/lib/systemd/system/docker.service 在ExecStart新增如下配置 -H tcp://0.0.0.0:2375 -H...
2023-05-05
Docker下安装Redis并持久化设置
Docker安装redis,并设置持久化详细教程 docker安装指定版本TAG的镜像 Redis的历史版本下载 docker安装redis Docker安装最新Redis6(redis-6.2.7)(参考官方文档) 镜像下载拉取镜像拉取最新版本镜像 docker pull redis; 拉取指定版本镜像 docker pull redis:6.2.0; 已拉取镜像docker images; +++ 获取指定版本TAG镜像hub.docker.com +++ 创建实例并启动创建配置文件目录 mkdir -p /home/docker/redis/conf 按redis版本下载对应redis.conf配置文件 https://redis.io/docs/management/config/ 修改配置 vi /home/docker/redis/conf/redis.conf 大坑注意: daemonize no #不要修改,否则启动失败且无日志可查 推荐修改配置 #bind 127.0.0.1 -::1protected-mode...
2023-06-22
Linux登录数据库Can‘t connect to local MySQL server through socket‘/tmp/mysql.sock‘最终解决方法
参考博客:Linux 登录数据库Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘最终解决方法 问题记录 经过实际排查my.cnf下无配置/tmp/mysql.sock 解决方式 mysql -h 127.0.0.1 -P 3306 -u root -p