MySQL集群-主从服务器搭建(一主多从)

硬件信息:CentOS Linux release 7.5.1804 (Core) 

主数据库:172.16.116.40

从数据库:172.16.116.42、172.16.116.43

如果已经安装5.5版本需要升级10版本,可以参考:MySQL集群升级从5.5版本升级到10.*以上版本(CentOS7.5 MariaDB集群升级)

安装MySQL服务(主从都需要)

开放数据库默认端口3306,并重载防火墙配置

# firewall-cmd --zone=public --add-port=3306/tcp --permanent
# firewall-cmd --reload

使用yum安装mysql数据库

yum install mariadb mariadb-server

启动MySQL数据库(systemctl start mariadb),并查看状态(systemctl status mariadb)

设置MySQL的root用户密码

set password for 'root'@'localhost' = password('你的密码');

给root用户最大权限

grant all privileges on *.* to 'root'@'%' identified by 'password';

进入/etc/目录,先备份配置文件(cp my.cnf my.cnf.bak)

主服务器配置(172.16.116.40)

配置主服务器

(1)Server-id:是用来标识数据库服务器的,取值在1到(232-1),这里使用数据库服务器ip最后一位来标识当前服务器;

(2)log-bin:二进制日志,用于记录所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改;

(3)innodb_flush_log_at_trx_commit和sync_binlog:使用innodb事务进行数据复制,并保证持久和一致。

[mysqld]
server-id=40
log-bin=mysql-bin-40
innodb_flush_log_at_trx_commit=2
sync_binlog=1

重启数据库,并进入数据库将172.16.116.42和172.16.116.43两台从数据库服务器访问主数据库权限设为最大(新建master用户),然后查看主服务器状态

systemctl restart mariadb;
mysql -uroot -p 密码
grant all privileges on *.* to 'master'@'172.16.116.42' identified by 'password';
show master status;

记住主数据库的File和Position列的值

从服务器配置

配置从数据库my.cnf文件

然后登录mysql执行以下语句

CHANGE MASTER TO
-> MASTER_HOST='172.16.116.40', # 主服务器ip
-> MASTER_USER='master', # 主服务器上创建的用户
-> MASTER_PASSWORD='你配置的主服务器密码', # 密码
-> MASTER_LOG_FILE='mysql-bin-40.000001', # 为master中的二进制日志文件,刚刚记住的File
-> MASTER_LOG_POS=565; # 刚刚记住的Position

开启从数据库服务(start slave;)

查看从服务器状态(show slave status;),\G分行,以下配置正常,并且从服务器IO和SQL服务正常

测试:在主服务器上新建distributed_test数据库(只能主服务器写,否则会出错),正常同步到了两台从数据库。至此,MySQL主从服务器配置完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值