centos上搭建分布式数据库

分布式数据库搭建

  • 分布式是为了数据安全以及减小服务器压力而想到的办法
  • 通过读写分降低服务器的压力同时增加数据的安全性
  • mysql 数据库通过主从复制实现读写分离

基本要求

  • 首先在一个网段(需要交换机)
  • 关闭防火墙(或者防火墙允许通过)

实现读写分离

  • 写的服务器为主
  • 读的服务器为辅

实验原料:两台服务器

master

关闭防火墙
systemctl stop firewalld.service

备份源文件(以免GG)
cp /etc/my.cnf /etc/my.cnf.bak

vim /etc/my.cnf 
[mysqld]
log-bin=mysql-bin
server-id=ip的最后一段地址(如192.168.54.55这里就是55)
binlog-do-db=需要主从复制的数据库
binlog-ignore-db=不要主从复制的数据库

重启服务
systemctl restart mysqld.service


slave

[mysqld]
server-id=ip的最后一段地址(如192.168.54.55这里就是55)
replicate_do_db=需要主从复制的数据库
replicate_ignore_db=不要主从复制的数据库

重启服务
systemctl restart mysqld.service

主从创建一样的数据库及其表结构

  • 主库专门提供给从库一个用来同步权限的这账户
1创建同步权限账户
grant replication slave on *.* to 'mysync'@'%' identified by '123456';

2刷新权限
flush privileges;

3显示主数据库信息
show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 |      154 | demo         | mysql            |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

从库上进行 跟随主库的设置

help contents

help Transactions

? change master to  


mysql> change master to 
    -> MASTER_HOST='主服务器ip',
    -> MASTER_USER='主服务器提供的同步账户',
    -> MASTER_PASSWORD='主服务器提供的同步账户密码',
    -> MASTER_PORT=3306,
    -> MASTER_LOG_FILE='对应主服务器信息表的那哥mysql-bin.000002',
    -> MASTER_LOG_POS=对应主服务器信息表的那哥154,
    -> MASTER_CONNECT_RETRY=10; 链接不上会尝试几次


start slave\G   开启从服务器 

mysql> show slave status \G  显示信息


3如果信息如下成功
 Slave_IO_Running: Connecting
 Slave_SQL_Running: Yes

慢查询星期6更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值