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 端口 版本
master1 192.168.0.121 3306 Mariadb 10.5
master2 192.168.0.122 3306 Mariadb 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=information_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=information_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


Mariadb 10.5 安装及实现双主

上一篇:oracle 删除表空间及数据文件方法


下一篇:Oracle instr()函数