搭建MySql主从复制

一、环境介绍

服务器都是用虚拟机代替

主:192.168.119.149

从:192.168.119.150

mysql版本:8.0.21

同步的数据库名称:php

 

二、主服务器配置

1.创建一个用于主从复制的用户,此用户在从服务器会用到。

create user `slave`@`%` identified by "root"; 

2.给slave用户赋予mysql权限

#*.* 表面这个权限是针对主库所有表,%表示所有地址。
grant all privileges on *.* to 'slave'@'%' with grant option;

3.刷新权限

flush privileges;

4.修改mysql配置文件

#打开文件
vim /etc/my.cnf

#在配置文件中找到[mysqld]并在其下添加如下内容 
 log-bin=mysql-bin    #开启二进制日志文件
 server-id=1          #主库的ID,可以随意指定,跟其它库不一样就行

5.重启mysql

service mysql restart

 

三、从服务器配置

1.修改mysql配置文件

#打开文件
vim /etc/my.cnf

#在配置文件中找到[mysqld]并在其下添加如下内容 
 log-bin=mysql-bin    #开启二进制日志文件
 server-id=2          #主库的ID,可以随意指定,跟其它库不一样就行

2.重启mysql

service mysql restart

3.进入mysql

mysql -uroot -p  #回车后输入用户root的密码

4.选择数据库

use php

5.库配置主从信息

change master to master_host='192.168.119.149',master_port=3306,master_user='slave',master_password ='root',master_log_file='mysql-bin.000027',master_log_pos=496;

#字段介绍
  change master to
  master_host='192.168.119.149',                #主库的地址
  master_port=3306,                             #主库的端口
  master_user='slave',                          #主库到从库开放的用户
  master_password='root',                       #主库到从库开放的用户密码
  master_log_file='mysql-bin.000027',         #主库“show master status”后的File字段
  master_log_pos=496;                           #主库“show master status”后的Position字段

5.1.master_log_file 和 master_log_pos 字段内容的获取:

登录主数据库,使用命令“show master status;”,结果如下:

6.启动主从配置

start slave

7.查看主从状态

show slave status\G

结果如下:

 

四、测试

php数据库中有个用户表user,我们用user表测试

 

1.看下图,在主和从库查询user表,表中暂时没有数据。

主库:

从库:

 

2.在主库插入数据,执行插入语句“INSERT INTO `user` (name, age) VALUES ('xiaohong', 25);”,结果如下图:

从库:

 

五、遇到的问题

1.问题如图,Slave_IO_Running: No

原因:主服务器安装好后我是直接克隆的整个虚拟机,所以MySQL的uuid是一样的,因此这里是No。(主从的数据库uuid每个都必须不一样)

解决:找到服务器mysql的安装目录,修改“安装目录/data/auto.cnf”文件中ID的任意一个值即可(也可以删除auto.cnf文件,删除后停机再启动)。注意:修改后的总长度不能变。修改后重启,或停机后再启动。

 

2.问题如图

原因:我两个数据库服务器都没有开放3306端口。

解决:

#开启3306端口
firewall-cmd --add-port=3306/tcp --permanent

#重新载入配置
firewall-cmd --reload

 

posted @ 2022-06-21 17:20  疯子丶pony  阅读(289)  评论(0编辑  收藏  举报