[主从]Mysql主从服务搭建与配置

一主一从
一主多从

搭建

1、架设两台服务器,全部安装好相同版本的mysql
2、关闭防火墙

service iptables stop

3、关闭SELinux

setenforce 0

4、修改/etc/my.conf

server-id=1 #主机可以设置为1,从机可以设置为IP最后一段(保证id的唯一性)
#主从服务器的核心,主服务器的mysql-bin会在读写以及执行事务的的过程中生成日志文件
#从服务器通过读取主服务器的日志再从服务器中运行日志中的事务或者读写操作
log-bin=mysql-bin
service mysqld restart  #重启mysql服务

注意:log-bin文件的开启非常重要,即使不配置主从服务的mysql也建议开启,我身边已经有好几个案例由于服务器安全性较低,被sql注入删库的问题,开启后出现问题可通过log-bin文件恢复数据库
5、主服务器上和从服务器数据库和数据表保持一致

  • 登录数据库
    mysql -uroot -p
  • 创建测试数据库
    create database test;
  • 选择test数据库
    use test;
  • 创建用于主从测试的数据表user
create table user(id int(11) auto_increment primary key,name varchar(30))engine=innodb,default charset=utf8;
  • 主服务器配置(创建一个专门用来同步数据的账号)
grant replication slave on *.* to 'mysnyc'@'%' identified by '123456789';
show master status;#查看状态,此后不要在进行任何操作
image.png

6、从服务器进行配置(下方所示ip地址请根据实际情况进行替换):

change master to master_host='192.168.1.10', master_user='mysync',master_password='123456789',master_log_file='mysql-bin.000006',master_log_pos=511
标红处请与上图对应File以及Position位置保持一致
start slave;#开启从服务
show slave status \G#查看从服务状态,如下两个选项都为Yes表明主从成功
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
image.png

7、主服务器进行插入数据测试
insert into user(name)value('xiaoming');
从服务器查看:select * from user;

你可能感兴趣的:([主从]Mysql主从服务搭建与配置)