数据库主从配置

        首先mysql的主从配置非常简单,不要怕错,勇敢尝试。

一、准备环境

        搭建虚拟机环境,我在这里搭建了两个虚拟机centos7.6和centos7.6s,如何搭建虚拟机看这里:(3条消息) Oracle VM VirtualBox虚拟机运行LockyLinux_lockylinuc_CV猿码人的博客-CSDN博客

         下载mysql,我这里用的是mysql8,下面是下载安装指令

yum install -y wget #如果没有wget需要下载

wget http://repo.mysql.com/mysql80-community-release-el7.rpm

yum -y install mysql80-community-release-el7.rpm

yum -y install mysql-community-server

systemctl start mysqld #看看mysql能不能启动

grep "password" /var/log/mysqld.log  # 8以后需要获取临时密码登录

grep "password" /var/log/mysql/error.log // 也有可能出现在这个目录,实例化后密码会出现在这

二、添加配置文件

        主数据库配置

vi /etc/my.cnf
server-id=10     #服务器id (主从必须不一样)
log-bin=/var/lib/mysql/master10-bin   #打开日志(主机需要打开)
expire_logs_days=30
binlog-ignore-db=mysql    #不给从机同步的库(多个写多行)
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys

        从数据库配置

vi /etc/my.cnf
server-id=11
relay-log=relay-bin
read-only=1
replicate-ignore-db=mysql               # 不复制的库
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
replicate-ignore-db=sys

添加完配置文件,记得重启数据库

systemctl restart mysqld

三、添加mysql从账号

# 修改账号
update user set host = '%' where user = 'root';
# 刷新权限
flush privileges;
# 添加从数据库
create user 'slave'@'%' identified by '密码';
# 配权限
GRANT ALL REPLICATION SLAVE ON *.* TO 'slave'@'%';
# 查看添加的账户
select user,host from mysql.user;

        看到从主机这样就配置好了 

四、配置主从节点信息 

         先把表锁了,要不然 Position会一直变。

 flush table with read lock; 

        获取主数据库节点信息

 show master status \G

         注意别这两行信息非常关键

        切换到从数据库,登录后(不需要登录slave,就默认用户就行),以防万一先把从节点暂停

mysql> stop slave

        配置从节点信息

mysql> CHANGE MASTER TO
     MASTER_HOST='192.168.0.121', #主数据库地址
     MASTER_USER='slave', #配置的从账户
     MASTER_PASSWORD='密码', #从账户密码
     MASTER_LOG_FILE='master10-bin.000005', #刚才的日志名
     MASTER_LOG_POS=157; #刚才的position

        运行从节点

mysql> start slave

        查看从节点信息

mysql> show slave status \G

                  Slave_IO_Running: Connecting     必须为Yes才对,现在出现了连接问题
                  Slave_SQL_Running: Yes

        通过下面的连接记录可以看到无法访问主数据库ip3306 

         将防火墙关闭

systemctl stop firewalld.service
systemctl disable firewalld.service

        还有些主从无法建立连接,最直接的办法就是重启主从数据库,重新配置一遍。 

        最后把表解锁掉,测试是否成功 。

unlock tables;
CREATE DATABASE qq; #测试是否能同步

                                                                       主

                                                                       从

        ok 数据库主从配置完了,在主库中添加数据库或表信息,从库都会自动同步。

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值