IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Linux Mariadb 双主配置 -> 正文阅读

[大数据]Linux Mariadb 双主配置

linux mariadb双主配置


使用Master服务器作为时间同步服务器。

server1时间同步设置

cd /etc
cp -p chrony.conf chrony.conf-bak
vim /etc/chrony.conf
#注释掉网络服务器,添加本地时间服务器
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 192.168.6.16 iburst
#允许地址段访问
allow 192.168.6.0/24
#即使server 指令中时间服务器不可用,也允许将本地时间作为标准时间授予其他客户端
local stratum 10
#重启时间服务
systemctl restart chronyd
systemctl enable chronyd
systemctl status chronyd

server2时间同步设置

cd /etc
cp -p chrony.conf chrony.conf-bak
vim /etc/chrony.conf
#注释掉网络服务器,添加本地时间服务器
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 192.168.37.101 iburst
#重启时间服务
systemctl restart chronyd
systemctl enable chronyd
systemctl status chronyd
检查时间同步情况 timedatectl

NTP synchronized: yes

#NTP sychronized 为 yes,证明时间同步正常。

安装mariadb

yum -y install mariadb-server
启动服务
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb

修改数据文件保存目录

datadir mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
cp -p /etc/my.cnf /etc/my.cnf-bak
vim /etc/my.cnf datadir=/data/mysql
重启mariadb服务
systemctl restart mariadb

设置管理员密码

mysql -u root -p ##敲回车进入mariadb
MariaDB [(none)]>set password=password(‘123456’);
MariaDB [(none)]>quit;
重启mariadb服务
systemctl restart mariadb

server1配置

在/etc/mysql/my.cnf下增加
[mysqld]
server-id=1###指定server-id server-id不能相同
log_bin=master-bin 指定二进制文件
binlog-ignore-db=mysql #不复制的数据库
binlog-ignore-db=information_schema #不复制的数据库
binlog-ignore-db=performance_schema #不复制的数据库
binlog-ignore-db=test #不复制的数据库
innodb_flush_log_at_trx_commit=1 ##我们每次事务的结束都会触发Log Thread 将log buffer中的数据写入文件并通知文件系统同步文件。这个设置是最安全的设置,能够保证不论是MySQL Crash 还是OS Crash或者是主机断电都不会丢失任何已经提交的数据。

server2配置

###上面有解释,2就不写了
在/etc/mysql/my.cnf下增加
[mysqld]
server-id=2
log_bin=master-bin
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=test
innodb_flush_log_at_trx_commit=1

创建同步账户

server1

grant replication slave on . to ‘requser’@‘server2 ip’ identified by ‘requser’;
##新建repuser用户(密码:repuser),server2可以登录server1mariadb,对当前服务器任何数据库的 任何表进行复制操作。
FLUSH PRIVILEGES; ##刷新权限表,使创建的用户repuser 权限生效

server2

grant replication slave on . to ‘requser’@‘server1 ip’ identified by ‘requser’;
##新建repuser用户(密码:repuser),server1可以登录server2mariadb,对当前服务器任何数据库的 任何表进行复制操作。
FLUSH PRIVILEGES; ##刷新权限表,使创建的用户repuser 权限生效

可以顺便在另一台服务器测试能不能登录,如果不能,把 bind-address 那行注释掉即可.
$server2
mysql -urepuser -prepuser -hserver1ip

查看maser状态

server1

MariaDB [mysql]> show master status;
在这里插入图片描述

server2

MariaDB [mysql]> show master status;
在这里插入图片描述

设置server2器复制参数项

MariaDB [mysql]>change master to master _host = ‘server1ip’ ,master_port=3306,master_user=‘repuser’
,master_password=‘repuser’,master_log_file=‘master-bin.000006’,master_log_pos=332;
注意!!!master-bin.000006,332为在server1数据库执行show master status;语句查询到的内容
[mysql]> START SLAVE; ##启用主从同步功能(启动I/O 线程和SQL线程)

###同时启动I/O 线程和SQL线程( I/O线程从主库读取bin log,并存储到relay log中继日志文件中。SQL线程读取中继日志,解析后,在从库重放。)

设置server1器复制参数项

MariaDB [mysql]>change master to master _host = ‘server1ip’ ,master_port=3306,master_user=‘repuser’
,master_password=‘repuser’,master_log_file='master-bin.000007‘,master_log_pos=245;
注意!!!master-bin.000007,245为在server2数据库执行show master status;语句查询到的内容
[mysql]> START SLAVE; ##启用主从同步功能(启动I/O 线程和SQL线程)

完毕之后,分别执行

MariaDB [mysql]> SHOW SLAVE STATUS\G

server1

在这里插入图片描述

server2

在这里插入图片描述
如出现以下两项,则说明配置成功!
Slave_IO_Running: yes
Slave_SQL_Running: yes

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:30:00  更:2022-07-17 16:33:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 0:18:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码