准备2台服务器,centos7,安装mariadb(yum -y install mariadb mariadb-server)
修改主机名:主服务器(IP1)
hostnamectl set-hostname master
修改主机名:从服务器(IP2)
hostnamectl set-hostname master
开启服务
systemctl start mariadb
配置数据库
vi /etc.my.cnf
在[mysqld]下添加 server-id=1 #主数据库的id
log-bin=master-bin #日志路径,作用是从数据库是根据这个日志来复制主数据库的数据的
登录mariadb,授权远程用户
mysql -uroot -ppassword
MariaDB [mysql]> grant replication slave on*.* to ‘slaveuser’@‘192.168.92.143’ identified by ‘password’;
MariaDB [mysql]> flush privileges;
重启数据库
systemctl restart mariadb.service
配置从数据库:
vim /etc/my.cnf
添加: server-id=2 #这个id必须不能和主数据库相同
read-only=on #设置该数据库是只读状态
relay-log=relay-bin #日志
重启数据库:
systemctl restart mariadb.service
在主服务器上查看主服务状态:
MariaDB [mysql]> SHOW MASTER STATUS
进入从服务器的数据库:master_host需改为自己的主服务器地址:
MariaDB [mysql]> change master to master_host='192.168.92.142',master_user='slaveuser',master_password='password', master_log_file='master-bin.000002',master_log_pos=314;
启动slave同步:
MariaDB [mysql]> START SLAVE;
查看同步状态:
MariaDB [mysql]> show slave status\G
最后结果必须都为yes才算成功