站点图标 Linux-技术共享

MySQL主从复制配置

准备环境

两台安装了MySQL的服务器

A: 192.168.3.81 作为master,没有数据
B: 192.168.3.82  作为slave,没有数据

主服务器

修改服务配置文件

vim /etc/my.conf

添加如下参数

[mysqld]
log-bin=mysql-bin 
server-id=1  

修改完配置文件,重启MySQL

systemctl restart mysqld

增加用户,授权给从服务器

mysql -uroot -p

grant replication slave on *.* to 'slave'@'192.168.3.82' identified by '123456'; 

查询主数据库的状态

show master status;

从服务器

修改配置文件

vim /etc/my.conf

添加

log-bin=mysql-bin
server-id=2

保存后,重启MySQL

systemctl restart mysqld

登录MySQL

mysql -uroot -p

change master to master_host='192.168.3.81',master_user='slave',master_password='123456',master_log_file='mysql-bin.000001' ,master_log_pos=651;

master_log_file和master_log_pos的值是根据查看主数据库的状态设置的

d761e9fcef3bb9374b39dfa20371875a

设置从库只读, 并启动slave

set global super_read_only=1;

启动slave

mysql> start slave;

检查主从同步,如果您看到Slave_IO_Running和Slave_SQL_Running均为Yes,则主从复制连接正常。

mysql> show slave status\G

验证

验证方法:去主服务器上新建一个数据库,然后登录从服务器看看刚才在主服务器新建的数据库在不在

先在192.168.3.81上创建test数据库,然后查看192.168.3.82上是否同步创建了一个。

 
退出移动版