数据库读写分离之主从服务器

目录

(一)安装两个虚拟机作为服务器,后面的步骤会设置成一主一从。

               关闭防火墙和selinux后互ping  ip地址要能ping通

(二)主从服务器都安装mariadb数据库

主数据库安装mariadb,最好切换到/opt下执行yum -y install mariadb mariadb-server

从数据库安装mariadb同理,最好切换到/opt下执行yum -y install mariadb mariadb-server

(三)模拟主从服务器同步django项目数据库中的所有表结构和内容

注意:表结构不能同步更新,只有表内容可以,要想更新表结构,主从库都要手动更新

主服务器端

从服务器端

(四)到此为止主从服务器中mysql都有OurBlog数据库了,且内容一致,第五步就是把主从服务器配置成整体,主服务器被写入数据,从服务器也会相应更新。

(五)主服务器在数据库中授权给从服务器们

(六)主从数据库都要配置文件/etc/my.cnf

(1)主服务器配置文件/etc/my.cnf   先退出数据库

(2)从服务器配置文件/etc/my.cnf    先退出数据库

(七)从服务器认祖归宗

(八)效果展示

                             主服务器数据库插入数据

                         从服务器数据库不用插入就可获取



(一)安装两个虚拟机作为服务器,后面的步骤会设置成一主一从。

               关闭防火墙和selinux互ping  ip地址要能ping通

(二)主从服务器都安装mariadb数据库

主数据库安装mariadb,最好切换到/opt下执行yum -y install mariadb mariadb-server

(1)安装Mariadb

最好切换到/opt下执行yum -y install mariadb mariadb-server   (我这里在根目录了不推荐)

(2)重启mariadb,无密码进入(不要打成 mysql -uroot -p  ,会出现权限拒绝)

先重启    systemctl restart mariadb

 

 注意:安装后一定要重启mariadb,否则/etc/my.cnf文件为空,后面配置同步的时候就不行了。

 注意:安装后一定要重启mariadb,否则/etc/my.cnf文件为空,后面配置同步的时候就不行了。

 注意:安装后一定要重启mariadb,否则/etc/my.cnf文件为空,后面配置同步的时候就不行了。

 

再     mysql -u root -p

(3)mariadb的生成配置(因为maria默认无密码,所以有任何其他服务器都可以访问的危险,所以执行下面命令)

mysql_secure_installation

从数据库安装mariadb同理,最好切换到/opt下执行yum -y install mariadb mariadb-server

 

(三)模拟主从服务器同步django项目数据库中的所有表结构和内容

第五部建立主从后,主服务器更新就会更新到从服务器(就是主从先有同样的结构,才能同步更新)

注意:表结构不能同步更新,只有表内容可以,要想更新表结构,主从库都要手动更新

主服务器端

(1)主服务器数据库创建数据库和表以及插入数据

(2)从主服务器maria导出数据库OurBlog,记住先退出数据库,切换目录到/opt,进行导出,作为规定吧

(6)使用scp命令   将主服务器maria中导出的数据库文件    传到从服务器的   root用户的   根目录下的    opt文件夹

scp OurBlog.sql root@10.10.65.31:/opt

从服务器端

(1)先在从服务器root用户下/opt下检查主服务器是否发送    拷贝文件  成功

(2)进入mysql创建同名的数据库

(3)退出数据库,导入传过来的OurBlog.sql

mysql -h localhost -u root -p123 OurBlog < OurBlog.sql

(4)检查导入是否成功

(四)到此为止主从服务器中mysql都有OurBlog数据库了,且内容一致,第五步就是把主从服务器配置成整体,主服务器被写入数据,从服务器也会相应更新。

(五)服务器在数据库中授权给从服务器们

目的是主服务器被写入了数据后,只有被授权的从服务器们可以同步更新

(1)主服务器数据库中输入  grant replication slave on *.* to root@"10.10.65.%" identified by "123" with grant option;

(2)刷新授权表

 

(六)主从数据库都要配置文件/etc/my.cnf

(1)主服务器配置文件/etc/my.cnf   先退出数据库

主从数据库都要配置,配置内容有一处不一样

注意:先保存一份my.cnf 到/opt  执行cp  /etc/my.cnf /opt

注意:先保存一份my.cnf 到/opt  执行cp  /etc/my.cnf /opt

注意:先保存一份my.cnf 到/opt  执行cp  /etc/my.cnf /opt

若   vim /etc/my.cnf  后是这样子,不要慌,右边滚动条拉一下就看见了

输入:

server-id=1

log_bin=mysql-bin?

binlog-do-db=OurBlog

binlog-ignore-db=mysql

:wq  保存退出

配置完my.cnf后重启mariadb,进入数据库后再执行show master status; (master只有一个,这里本身就是主服务器数据库,所以master还是自己)

(2)从服务器配置文件/etc/my.cnf    先退出数据库

 

输入:

server-id=2        只要这里和主数据库不同就行

log_bin=mysql-bin?

binlog-do-db=OurBlog

binlog-ignore-db=mysql

:wq  保存退出

:wq保存退出后重启mariadb进入数据库执行show master status;

(七)从服务器认祖归宗

从服务器根据主服务器show master status; 展示出来的表进行归宗配置

根据下面server中查出的表在slave_server数据库执行命令如图二:

图一:

从服务器数据库根据上表执行如下:(10.10.65.44是主服务器ip)

change master to MASTER_HOST='10.10.65.44',MASTER_USER='root',MASTER_PASSWORD='123',MASTER_LOG_FILE='mysql-bin?.000001',MASTER_LOG_POS=245;

图二:

接着输入: 

再执行:show slave status:

 出现下面情况则成功:

 

(八)效果展示

                             主服务器数据库插入数据

                         从服务器数据库不用插入就可获取

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值