mysql(8.0)_主从复制

1.环境介绍

自己的主机--master
同学的主机--slave

2.安装mysql

https://blog.csdn.net/weixin_45955039/article/details/130144515?spm=1001.2014.3001.5501

3. 准备工作

3.1在云服务器上添加端口号

在这里插入图片描述
在这里插入图片描述

3.2关闭防火墙

systemctl stop firewalld
setenforce 0

4.master上的配置

4.1在文件/etc/my.cnf中添加以下内容,切记要添加在[mysqld]下

vim /etc/my.cnf
server-id=1
log-bin=mysql-bin

在这里插入图片描述

4.2重新启动mysql服务

systemctl stop mysqld
systemctl start mysqld

4.3查看服务id是否是1

登录mysql
mysql -uroot -p123456
查看id
SHOW VARIABLES LIKE 'server_id';

在这里插入图片描述

4.4给从主机副本权限

更改密码,先修改密码规则
set global validate_password.policy=0;
set global validate_password.length=1;
创建用户(这里不要建议使用root用户)
CREATE USER 'repl'@'%' IDENTIFIED BY '123456';
ALTER USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;

在这里插入图片描述

4.5查看主库状态

这里一定要记住日志文件的名字和位置

show master status;

在这里插入图片描述

5.slave安装及配置

5.1在文件/etc/my.cnf中添加以下内容,切记要添加在[mysqld]下

vim /etc/my.cnf
server-id=2

在这里插入图片描述

5.2启动mysql服务

systemctl stop mysqld
systemctl start mysqld

5.3查看服务id是否是2

登录mysql
 mysql -uroot -p123456
SHOW VARIABLES LIKE 'server_id';

在这里插入图片描述

5.4为slave指定 master IP、用户名、密码、 bin-log文件名以及position

这里不知道文件名和position去看3.5

更改密码,先修改密码规则
set global validate_password.policy=0;
set global validate_password.length=1;
制定主节点
CHANGE MASTER TO
MASTER_HOST='101.43.248.178',
MASTER_USER='repl',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=849;

说明:

MASTER_HOST/SOURCE_HOST:主数据库的主机ip
MASTER_PORT/SOURCE_PORT:主数据库的端口,不设置则默认是3306
MASTER_USER/SOURCE_USER:主数据库被授予同步复制权限的用户名
MASTER_PASSWORD/SOURCE_PASSWORD:对应的用户密码
MASTER_LOG_FILE/SOURCE_LOG_FILE:在主数据库执行命令show master status 查询到的二进制日志文件名称
MASTER_LOG_POS/SOURCE_LOG_POS:在主数据库执行命令show master status 查询到的位置 Position的值
在这里插入图片描述

5.5启动从服务

start slave;

在这里插入图片描述

5.6查看从服务是否启动成功

两个线程都是yes就成功了

show slave status\G

在这里插入图片描述

6.测试

6.1在mster上创建一个tongbu库,并在tongbu库中创建master表

create database if not exists tongbu;
use tongbu;
CREATE TABLE IF NOT EXISTS master(
   info varchar(20) 
);

6.2去从服务器上看一下是否有同步库

在这里插入图片描述

6.3去从服务器上看一下tongbu库中是否有表master

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45955039/article/details/130170116