1.环境准备(同时在两台虚拟机上操作)
关闭防火墙
systemctl stop firewalld
setenforce 0
下载数据库
yum -y install mariadb mariadb-server
开启数据库
systemctl start mariadb
说明
主数据库 | 192.168.233.162 |
---|---|
从数据库 | 192.168.233.163 |
配置主数据库
1.用vi 打开my.cnf
vi /etc/my.cnf
2.在[mysqld]标签下面增加以下代码:
server-id=1 #主数据库的id
log-bin=master-bin #日志路径,作用是从数据库是根据这个日志来复制主数据库的数据的
重启数据库
systemctl restart mariadb
登录mariadb,授权远程用户(slaveuser为用户名和密码 “192.168.233.163”为从服务器的地址,这里需要改成自己服务器的地址)
grant replication slave on *.* to 'slaveuser'@'192.168.233.163' identified by 'slaveuser';
flush privileges;
重启mariadb服务
systemctl restart mariadb.service
配置从数据库
1.用vi打开my.cnf:
vi /etc/my.cnf
2.在[mysqld]标签下面增加以下代码:
server-id=2 #这个id必须不能和主数据库相同
read-only=on #设置该数据库是只读状态
relay-log=relay-bin #日志
3.重启mariadb服务
systemctl restart mariadb.service
在主服务器的数据库上查询主服务状态
SHOW MASTER STATUS;
进入从服务器的数据库:master_host需改为自己的主服务器地址
change master to master_host='192.168.233.162',master_user='slaveuser',master_password='slaveuser', master_log_file='master-bin.000004',master_log_pos=245;
start slave; #重置slave 不重置有时候会出错
START SLAVE;#启动slave同步(在数据库中)
show slave status\G 在slave服务器上查看slave同步的状态
.查看Slave_IO_Running和Slave_SQL_Running是否都为yes(一定要全部为yes。否则就是你配置错了,再重新配置一遍从数据库)