微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mariadb 10.5 安装及实现双主

在搭建jump时记录和用于后期查询。可参考使用。


一.Mariadb 10.5安装

  1. 配置安装源

vi /etc/yum.repos.d/MariaDB.repo

[mariadb]
name = MariaDB 
baseurl = http://mirrors.ustc.edu.cn/mariadb/yum/10.5/centos7-amd64
gpgkey=http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

2.yum安装

yum clean all
yum -y install MariaDB-server
systemctl enable mariadb
systemctl start mariadb

3.创建数据库

进入数据库
MysqL -uroot
创建数据库
create database jumpserver default charset 'utf8';
创建用户密码
create user 'jumpserver'@'%' identified by '123456';
授权
grant all on jumpserver.* to 'jumpserver'@'%';
flush privileges;
use jumpserver;
导入数据库
source /opt/jumpserver.sql;
退出
exit;



二.实现MysqL双主复制

环境centos 7.8


角色ip端口版本
master1192.168.0.1213306Mariadb 10.5
master2192.168.0.1223306Mariadb 10.5


1.MysqL 安装见如上安装步骤,两台安装同样的配置。

2.master1配置

(1).vi /etc/my.cnf文件

[MysqLd]
datadir=/var/lib/MysqL
socket=/var/lib/MysqL/MysqL.sock
log-error=/var/log/MysqLd.log
pid-file=/var/run/MysqLd/MysqLd.pid

# 开启二进制归档日志
log-bin=MysqL-bin
# 定义服务器id,必须唯一
server-id=1
# 开启从库日志更新
log_slave_updates=1

# 需要同步的数据库名,如果有多个,则重复此参数,每个数据库一行(请根据需要配置)
#binlog-do-db=test
# 不同步的 MysqL 数据库,同上 (请根据需要配置)
#binlog-ignore-db=MysqL
#binlog-ignore-db=performance_schema
#binlog-ignore-db=@R_706_4045@ion_schema
#binlog-ignore-db=sys

(2).创建同步账号

CREATE USER 'tb1'@'192.168.0.122' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'tbl'@'192.168.0.122';

(3).重启服务

systemctl restart mariadb

3.master2配置

(1).vi /etc/my.cnf文件

[MysqLd]
datadir=/var/lib/MysqL
socket=/var/lib/MysqL/MysqL.sock
log-error=/var/log/MysqLd.log
pid-file=/var/run/MysqLd/MysqLd.pid

# 开启二进制归档日志
log-bin=MysqL-bin
# 定义服务器id,必须唯一
server-id=2
# 开启从库日志更新
log_slave_updates=1
#read_only=1

# 需要同步的数据库名,如果有多个,则重复此参数,每个数据库一行(请根据需要配置)
#binlog-do-db=test
# 不同步的 MysqL 数据库,同上 (请根据需要配置)
#binlog-ignore-db=MysqL
#binlog-ignore-db=performance_schema
#binlog-ignore-db=@R_706_4045@ion_schema
#binlog-ignore-db=sys

(2).创建同步账号

CREATE USER 'tb2'@'192.168.0.121' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'tb2'@'192.168.0.121';

(3).重启服务

systemctl restart mariadb

4.开启复制

(1).分别在master1.和master2中执行

-- 查看master状态,记录二进制日志文件编号和位置
SHOW MASTER STATUS;-- 用于停止io线程
STOP SLAVE IO_THREAD FOR CHANNEL '';-- 设置作为从库到主库读取的信息-- 在master1上执行的信息来自于master2上的show master status信息,同理master2也一样
CHANGE MASTER TO
  MASTER_HOST='192.168.0.122',        -- master2的 ip
  MASTER_USER='tbl',                  -- master2上设置的同步用户
  MASTER_PASSWORD='123456',           -- master2上设置同步用户密码
  MASTER_LOG_FILE='MysqL-bin.000003', -- master2的日志文件
  MASTER_LOG_POS=155;                 -- master2 的日志位置
  -- 查看系统sql_mode
select @@sql_mode;
-- 开启主从复制
start slave;
-- 查看从库状态
show slave status \G;
-- 停止主从复制;
STOP SLAVE;

(2).验证是否成功

  • 在start slave后,执行show slave status查看下面是否为yes

  • Slave_IO_Running: Yes
    Slave_sql_Running: Yes


注意:配置完记得防火墙放行3306端口,否则无法同步。

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

firewall-cmd --reload


版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐