目录
一、安装时间同步工具
在搭建之前,需要现在每台数据库上安装时间同步工具
yum install ntp -y
直接输入上面命令,安装时间同步的工具,但是一般系统都是默认安装过的,还是安装一次确认一下为好。所有主从都确认一下。
二、修改配置文件,完成时间同步
主服务器:
进入主服务器的配置文件,设置服务器的时钟源以及时间的层次级别
vim /etc/ntp.conf
进入文件之后,在末行添加下面
配置完成之后,保存退出,重启一下文件
service ntpd start
从服务器:
安装时间同步工具,一般也是默认安装过的,可以rpm或者直接用yum安装确认一下是否安装
安装完成之后,直接使用直接启动服务即可
systemctl start ntpd
从服务器较为简单,直接启动服务之后,使用ntpdate工具,加上开启了同步的主服务器的IP地址就能获取目标的时间。
为了防止同步时间之后长时间不同步,可能产生时间有误差,可以定时手动同步一下时间,但是手动太麻烦,可以使用定时任务,指定一个crontab,每半小时同步一次时间
crontab -e
> */30 * * * * /usr/sbin/ntpdate 192.168.75.52
这么一来,时间同步就设置完成了
三、开启主从复制功能
主服务器:
进入服务器的主配置文件
vim /etc/my.cnf
在[mysqld]段的下面,添加三行内容
log-bin=master-bin #开启二进制日志
binlog_format=MIXED #指定二进制日志的类型
log-slave-updates=true #开启从服务器同步
配置结束之后,直接刷新服务器
然后进入mysql中,对主服务器进行授权,配置主服务器的名称,网段,密码等配置
grant replication slave on *.* to 'myslave'@'192.168.75.%' identified by '123123';
刷新数据库
flush privileges;
再去查看服务器节点是否创建完成
完成之后,主服务器的配置就先暂时告一段落
从服务器:
从服务器两个的配置,除了service-id不同以外,别的配置基本一致,这里就只配置一遍
进入配置文件
vim /etc/my.cnf
在以[mysqld]开头的段,修改一下内容,跟添加内容
刷新数据库
systemctl restart mysqld
进入数据库,进行配置
可以先输入 help change master to 来查看帮助,进行编辑
从上往下,一步步进行改写,主要是验证主服务器
第一行:标准格式
第二行:master_host='192.168.*.*', #主服务器的IP地址
第三行:master_user='myslave', #主服务器的名称,在上面自己配置的名字
第四行:master_password='*******', #主服务器的密码,也是上面自己配置的
第五行:master_log_file='master-bin.000001', #主服务器二进制日志文件名
第六行:master_log_pos=603; #主服务器的二进制日志的位置
配置完成之后,将使用命令将从服务器打开
start slave;
配置完成之后,将从服务器启动
start slave;
再输入下面命令,查看配置是否完成
show slave status\G
如果中间这两行是yes,证明已经配置完成,如果不是,证明有错误,一般是检查一下防火墙是否关闭,如果不是防火墙的缘故,检查一下上一步的添加的二进制的位置跟二进制名字是否正确。
如果添加的位置不同,可以先将slave关闭,重新指定一下就可以了。
安装完成之后,在主库上进行增删改查等操作之后,再去从库上看一下,如果同步了,就证明配置完成。
服务器的主从复制,这就配置完成了,总体没什么难点,就是最后从服务器添加的主服务器的二进制日志的相关信息的时候,注意别填错就行了