欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mySQL的主从数据库同步设置

程序员文章站 2024-03-20 21:40:28
...

mySQL的主从数据库同步设置

1.打开服务项

mySQL的主从数据库同步设置

mySQL的主从数据库同步设置
找到安装位置
mySQL的主从数据库同步设置
然后复制一份
mySQL的主从数据库同步设置

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

可能会找不到,这是因为如果使用了默认安装,文件会存放在隐藏文件夹下,需要自己设置文件显示隐藏文件的设置
然后在programData文件夹下找到mysql文件夹,复制一份
mySQL的主从数据库同步设置
修改端口号:
mySQL的主从数据库同步设置
mySQL的主从数据库同步设置

修改地址从数据库的地址
mySQL的主从数据库同步设置
修改从数据库的数据存放地址
mySQL的主从数据库同步设置

3.安装从数据库

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

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

主数据库的修改

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

查看主数据库的server-id,从数据库不要和主数据库配置相同
mySQL的主从数据库同步设置
设置想要同步的数据库和屏蔽系统数据库

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

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

从数据库修改
server-id=2
mySQL的主从数据库同步设置

# 开启日志
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.重启主从数据库

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

6.授权设置

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

mySQL的主从数据库同步设置
在user表中就会有一个out_right授权账户
mySQL的主从数据库同步设置

7.开启同步

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

7.1 查看主数据库数据状态

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

mySQL的主从数据库同步设置

7.2 从数据库设置

先停止同步
stop SLAVE;
mySQL的主从数据库同步设置
从数据库运行

连上主数据库准备同步

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

mySQL的主从数据库同步设置

启动同步:
START SLAVE;
mySQL的主从数据库同步设置
查看同步状态
show SLAVE STATUS;

mySQL的主从数据库同步设置

6.3 不同为yes解决

因为从数据库中的文件auto.cnf是直接赋值主数据库的,所以存在冲突,删除掉从数据库的auto.cnf文件,并重新启动从数据库
mySQL的主从数据库同步设置

mySQL的主从数据库同步设置
重启服务
mySQL的主从数据库同步设置
在进行状态查询:
stop slave;
start slave;
show slave status;

mySQL的主从数据库同步设置

相关标签: # MySQL mysql