mySQL的主从数据库同步设置

mySQL的主从数据库同步设置

1.打开服务项

在这里插入图片描述

在这里插入图片描述
找到安装位置
在这里插入图片描述
然后复制一份
在这里插入图片描述

2.修改从数据库的mini文件

可能会找不到,这是因为如果使用了默认安装,文件会存放在隐藏文件夹下,需要自己设置文件显示隐藏文件的设置
然后在programData文件夹下找到mysql文件夹,复制一份
在这里插入图片描述
修改端口号:
在这里插入图片描述
在这里插入图片描述

修改地址从数据库的地址
在这里插入图片描述
修改从数据库的数据存放地址
在这里插入图片描述

3.安装从数据库

进入从数据库的bin目录,打开命令窗口
输入命令:
mysqld install mysql-back --defaults-file= "C:\ProgramData\MySQL\MySQL Server 5.7-back\my.ini"
后面指定的是my.ini的文件地址,根据自己的进行修改
安装成功
在这里插入图片描述
在服务中进行刷新,查看,这里只是数据的安装,并没有启动,后续还需要进行配置,最后再启动
在这里插入图片描述

4.修改主数据库和从数据库的my.ini进行关联

主数据库的修改

# 开启日志
log-bin=mysql-bin

查看主数据库的server-id,从数据库不要和主数据库配置相同
在这里插入图片描述
设置想要同步的数据库和屏蔽系统数据库

# 设置需要同步的数据库
binlog-do-db=temporary

# 屏蔽系统库同步
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema

从数据库修改
server-id=2
在这里插入图片描述

# 开启日志
log-bin=mysql-bin

# 设置需要同步的数据库
replicate_wild_do_table=temporary.%

# 屏蔽系统库同步
replicate_wild_ignore_table=mysql.%
replicate_wild_ignore_table=information_schema.%
replicate_wild_ignore_table=performance_schema.%

5.重启主从数据库

在这里插入图片描述
用软件连接从数据库
在这里插入图片描述
可以看到从数据库中已经有了数据,
在这里插入图片描述
此时数据是不同步的,因为没有权限,需要在主数据库中进行授权并进行设置

6.授权设置

GRANT REPLICATION SLAVE ON *.* TO '新建账户名'@'%'IDENTIFIED BY '新建的账户名(作为密码使用)';
刷新
FLUSH PRIVILEGES;

在这里插入图片描述
在user表中就会有一个out_right授权账户
在这里插入图片描述

7.开启同步

上面的操作只是让从数据库和主数据库有了相同的数据结构,但是进行数据表的插入和删除操作时数据是不同步的,下面进行数据同步的设置

7.1 查看主数据库数据状态

在主数据库下运行
show master status
File 和Position的值需要在从数据库的设置中使用

在这里插入图片描述

7.2 从数据库设置

先停止同步
stop SLAVE;
在这里插入图片描述
从数据库运行

连上主数据库准备同步

CHANGE MASTER TO
# 主数据库地址
MASTER_HOST = 'localhost',
#授权的用户名和密码
MASTER_USER = 'out_right',
MASTER_PASSWORD = 'out_right',
#刚才查询的主数据库信息
MASTER_log_file = 'mysql-bin.000001',
MASTER_log_pos = 446;

在这里插入图片描述

启动同步:
START SLAVE;
在这里插入图片描述
查看同步状态
show SLAVE STATUS;

在这里插入图片描述

6.3 不同为yes解决

因为从数据库中的文件auto.cnf是直接赋值主数据库的,所以存在冲突,删除掉从数据库的auto.cnf文件,并重新启动从数据库
在这里插入图片描述

在这里插入图片描述
重启服务
在这里插入图片描述
在进行状态查询:
stop slave;
start slave;
show slave status;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Guesshat/article/details/109384732