LAMP环境配置mysql主从复制

centos搭建LAMP环境

环境:

主服务器:192.168.72.232 系统 Centos7 localhost
从服务器:192.168.72.152 系统 Centos7 localhost
(以下为两台服务器mysql正确安装完毕)

注意注意注意:主机的防火墙一定要关闭,建议从看到这个信息就开始关闭主服务器的防火墙

暂时关闭防火墙
systemctl stop firewalld
永久关闭防火墙
systemctl disable firewalld
设置开机启动
systemctl enable firewalld

主服务器配置:

[root@localhost ~]# mysql -u root -p   ##进入数据库,输入密码
MariaDB [(none)]> show databases;
创建一个测试数据库DB1:
MariaDB [(none)]> create database DB1;

赋予数据库DB1连接权限:

MariaDB [(none)]> grant all privileges on *.* to root@‘%’ identified by ‘root‘ with grant option;
MariaDB [(none)]> flush privileges;
使用DB1创建一个表:
MariaDB [(none)]> use DB1;
MariaDB [DB1]> create table test (name VARCHAR(20), sex CHAR(1), birth DATE, birthaddr VARCHAR(20));
MariaDB [DB1]> insert into test values (‘abccs’,’f’,’1995-10-22′,’china’);  ##sql语句插入几行记录

说明:grant all privileges on . to root@’%’ identified by ‘主mysql密码‘ with grant option;
%代表任何一台机器都可以连接

将数据库备份到从服务器上

[root@localhost ~]# mysqldump -h localhost -u root -p DB1 > /root/1.sql 
[root@localhost ~]# scp -P22 /root/1.sql root@192.168.72.232:/root/    ##使用SCP命令拷贝到从服务器(test2服务器上,ssh端口为22)

从服务器配置:
从服务器按照上面的方法安装mariadb,创建一个空数据库DB1,不需要创建表,为了将主服务器上的mysql还原到从服务器上。

[root@localhost~]# mysql -u root -p
MariaDB [(none)]> create database DB1;
[root@tlocalhost~]# mysql -h localhost -u root -p DB1 < /root/1.sql

Mysql的主从服务器配置:

主服务器配置:

在/etc/my.cnf 添加如下内容:

配置如下:

#设置服务器ID,为1的表示为主服务器;如果服务器没有以下配置,添加,如果有就跳过。
server-id=1
#启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
log-bin=mysql-bin
#需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行\
binlog-do-db=DB1
#不同步mysql系统数据库
binlog-ignore-db=mysql

:一定要加入到加到mysqld下面,如果加入的位置或者信息不对的话,执行 show master status;结果为空;

如下图所示:
在这里插入图片描述
重启服务

[root@localhost ~]#systemctl restart mariadb   
#进入mysql,查看数据库主机的配置文件状态
[root@localhost ~]# mysql -u root -p
MariaDB [(none)]> show master status;

结果如下:
在这里插入图片描述

注意:查看主服务器,出现以上类似信息;如果看不见以下结果或者为空的话,说明my.cnf配置文件配置的有问题,请检查。
这里记住File的值:mysql-bin.000002和Position的值:667,后面会用到。

从服务器配置:

配置MySQL从服务器的my.cnf文件;区别就是server-id不一样
在/etc/my.cnf 添加如下内容

#设置服务器ID,为1的表示为主服务器;如果服务器没有以下配置,添加,如果有就跳过。
server-id=2
#启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
log-bin=mysql-bin
#需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行\
binlog-do-db=DB1
#不同步mysql系统数据库
binlog-ignore-db=mysql

在这里插入图片描述
接下来配置slave,进入从服务器的mysql控制台配置下:

[root@localhost ~]# mysql -uroot -p
MariaDB [(none)]> slave stop;
MariaDB [DB1]> change master to master_host=’192.168.72.232′,master_user=’root’,master_password=’root‘,master_log_file=’mysql-bin?.000002’,master_log_pos=667;

说明:change master to master_host=‘主服务器’,master_user=‘mysql用户名’,master_password=‘mysql服务密码’,master_log_file=‘File值’,master_log_pos=Postion值;

然后重启服务器mysql

MariaDB [(none)]> slave start;  ###启动slave

最后我们查看主从同步是否正常:
在这里插入图片描述
主要是看 Slave_IO_Running 和 Slave_SQL_Runing 这两个参数是yes就说明主从配置完成。

如果Slave_IO_Running 是 No,可以参考方法:

方法如下:

重置slave.

slave stop;

reset slave;

slave start;

重新执行show slave status \G;

目前还有一个问题,centos7搭建lampp集成环境,mysql做主从,在show master status这一步,一直提示为空,尝试了各种办法,还是不行,最后我才选择手动搭建LAMP环境,这个问题就没了,如果有在lampp环境下主从复制搭建成功的小伙伴,可以留言,让小弟请教请教

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值