MariaDB主从搭建与测试

(一) 安装相同版本的MariaDB。 这里我使用yum 安装
1) master:
rpm --import http://yum.mariadb.org/RPM-GPG-KEY-MariaDB

echo ‘# MariaDB 10.0 CentOS repository list - created 2014-03-15 08:00 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1‘>>/etc/yum.repos.d/MariaDB.repo

yum clean all

#Installing MariaDB with YUM##########################################################
yum -y install MariaDB-server MariaDB-client

#加入启动项###########################################################################
chkconfig --levels 235 mysql on

#start MariaDB########################################################################
/etc/init.d/mysql start

#设置mysql密码及相关设置##############################################################
mysql_secure_installation

#移动mysql配置文件
cp -p /etc/my.cnf /etc/my.cnf.bak
mv /etc/my.cnf /data/conf/
ln -s /data/conf/my.cnf /etc/

#移动mysql数据库
cp -rp /var/lib/mysql /var/lib/mysql-bak
mv /var/lib/mysql /data/
ln -s /data/mysql /var/lib/

# 添加防火墙规则
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart

2) slave 执行同样的操作

(二) 主服务器上设置一个远程用户允许从服务器通过此用户访问主服务器上的数据
MariaDB [(none)]> GRANT REPLICATION SLAVE ON *.* TO ‘slave‘@‘192.168.3.133‘ IDENTIFIED BY ‘123456‘; (允许用户slave通过192.168.3.133 复制当前master上的数据)
MariaDB [(none)]> FLUSH PRIVILEGES;
(三) 修改主数据库的配置文件my.cnf,开启BINLOG,并设置server-id的值(server_id值可以是整数型的数字(1 ~ 2^31-1), 在同一个复制组(replicating group)中的每台服务器的server_id都必须是唯一的),修改之后必须重启Mysql服务
[[email protected] ~]# vi /data/conf/my.cnf
log-bin=/data/mysql/mysql-bin.log
server-id       = 1
binlog-ignore-db=mysql,information_schema,performance_schema  (忽略同步的数据库)
binlog-do-db=masterslavetest (需要复制的数据库名,如果复制多个数据库,重复设置这个选项即可)
replicate-ignore-db=mysql,information_schema,performance_schema(忽略同步的数据库)
replicate-do-db=masterslavetest (需要复制的数据库名,如果复制多个数据库,重复设置这个选项即可)

# 平滑加载mysql配置文件
[[email protected] mysql]# service mysql reload
# 查看主服务器当前二进制日志名和偏移量,确定当前点, 主要是方便从服务器复制数据。
MariaDB [(none)]> show master status\G;
# 重置master
MariaDB [(none)]> reset master;

(四) 主服务器上增加数据库,添加数据表,插入数据。然后对我们主服务器进行锁表操作。查看当前主服务器上查看当前点的偏移量。我们从当前时间点开始把数据同步到从服务器
master:
MariaDB [(none)]> create database masterslavetest;  (主服务器添加数据库。等下我们就是用这个数据库来进行主从同步实验)
MariaDB [(none)]> use masterslavetest;
MariaDB [masterslavetest]> create table t1(id int,name varchar(20));
MariaDB [masterslavetest]> insert into  t1 values(1,‘name1‘);
MariaDB [masterslavetest]>  flush tables with read lock;  (为了防止数据不同步,我们对主服务器进行读锁)
Query OK, 0 rows affected (0.00 sec)
MariaDB [masterslavetest]> show master status\G;  (# 主服务器上查看当前点的偏移量)
*************************** 1. row ***************************
            File: mysql-bin.000001
        Position: 779
    Binlog_Do_DB:
Binlog_Ignore_DB: mysql,information_schema,performance_schema
1 row in set (0.00 sec)

ERROR: No query specified
(五) 导出主服务器上的数据
[[email protected] mysql]# mysqldump -u root -p masterslavetest > /root/masterslavet
(六)
1)配置从服务器
[[email protected] ~]# vi /data/conf/my.cnf
log-bin=/data/mysql/mysql-bin.log
server-id       = 100 (和主服务器不能相同)
binlog-ignore-db=mysql,information_schema,performance_schema  (忽略同步的数据库)
binlog-do-db=masterslavetest (需要复制的数据库名,如果复制多个数据库,重复设置这个选项即可)
replicate-ignore-db=mysql,information_schema,performance_schema(忽略同步的数据库)
replicate-do-db=masterslavetest (需要复制的数据库名,如果复制多个数据库,重复设置这个选项即可)
后面四项和主服务器配置相同

2)重启从服务器
3)在从服务器上指定主服务器和同步点
MariaDB [(none)]> change master to master_host=‘192.168.3.132‘,master_user=‘slave‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=779;

4)开启slave
MariaDB [masterslavetest]> start slave;
5) 查看slave状态
MariaDB [masterslavetest]> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.3.132
                  Master_User: slave
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000002
          Read_Master_Log_Pos: 536
               Relay_Log_File: localhost-relay-bin.000002
                Relay_Log_Pos: 706
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: Yes  (这里几项是yes 表示成功)
            Slave_SQL_Running: Yes
              Replicate_Do_DB: masterslavetest

时间: 2024-08-04 16:59:31

MariaDB主从搭建与测试的相关文章

mongdb 主从搭建

mongo主从     副本集 一,mongo 主从 mongo的主从配置 1,主从同步原理,从库通过去读取主库的oplog来实现数据的同步 弊端:  主从不能自动切换(副本集可以) 环境:(在一个服务器上启用多个mongo进程,监听在不同端口,也可以实现) master  :192.168.78.130 slave    : 192.168.78.131 步骤一: 在master 130上,启用mongod : [[email protected] bin]# ./mongod --dbpat

linux运维之LAMP(apache+mariadb+php)搭建

linux运维之LAMP(apache+mariadb+php)搭建         LAMP 是Linux Apache MySQL(mariadb) PHP的简写,其实就是把Apache, MySQL以及PHP安装在Linux系统上,组成一个环境来运行php的脚本语言,其中mariadb为mysql的一个分支. 搭建环境: 系统: CentOS6.6-x86_64          httpd: httpd-2.4.9          mariadb: mariadb-5.5.43    

DNS主从搭建之解析

一.DNS定义 DNS是域名系统的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务. DNS命名用于TCP/IP网络中,通过用户友好的名称查找计算机和服务.当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与之相应的IP地址.监听于TCP/53端口.UDP/53端口. 二.DNS域名命名空间 DNS域名命名空间是具有层次行的,一般可分为根域.顶级域.二级域.子域以及主机名, 如图: 三.DNS服务器类型    1.主DNS 服务器 当DNS服务器管理主要区域时,它被称为主D

简单的mysql主从搭建及恢复

mysql主从搭建: 怎么安装mysql数据库,这里不讲,只说它的主从复制,步骤如下: 1.主从服务器分别作以下操作:  1.1.版本一致  1.2.初始化表,并在后台启动mysql  1.3.修改root的密码 2.修改主服务器master:   #vi /etc/my.cnf       [mysqld]       log-bin=mysql-bin   //[必须]启用二进制日志       server-id=1       //[必须]服务器唯一ID 3.修改从服务器slave:  

Mysql 主从搭建

Mysql  主从搭建 操作系统: [[email protected] ~]# cat /etc/redhat-release CentOS release 6.8 (Final) Master(主):192.168.137.32 Slave (从) :192.168.137.33 第一步:在CentOS6.x下安装MySQL数据库 这里我直接用脚本安装mysql5.7的 vim auto_install_mysql.sh #!/bin/bash yum install  -y  wget w

Centos 7.1 Bind主从搭建

Centos 7.1  Bind主从搭建 ########################################################################## 概览 DNS简单描述 1.环境准备 2.配置主DNS服务器 2.1. 主要配置文件 2.2. 配置/etc/named.conf 2.3. 配置/etc/named.rfc1912.zones 2.4. 配置/var/named/数据库文件 2.5 启动服务以及测试 3. 配置从dns服务器 3.1. 主D

xtrabackup 在线主从搭建

因为意外导致某个MySQL的从服务器宕机,且不可修复,因为是业务数据库,不能停机和锁表进行从库的搭建,所以考虑了使用xtrabackup 进行在线主从搭建. 一.数据库环境 数据库 数据库版本 外网IP 内网IP 同步用户 备份目录 主库 MYSQL-5.6.7 211.147.1.202 192.168.0.123 rep 从库 MYSQL-5.6.7 211.147.1.202 192.168.0.13 二.准备安装包 percona-xtrabackup-2.1.9-744-Linux-x

数据库主从搭建

数据库主从搭建 为什么要搭建数据库主从,因为一个项目一般都是读的操作比写的操作多很多,所以搭建主从,实现读写分离,减轻数据库压力. 2.1 主从同步原理 mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到slave; 3) slave有一个I/O线程把master发送的二进制写入到relay日志里面: 4)slave有一个SQL线程,按照relay日志处理slave的数据: 2.2 注意点 1 咱们用docker

Centos6.7 Redis3.2.8的主从搭建

首先参看一下redis 3.2.8的安装 传送门:biubiubiu 飞去吧:http://www.cnblogs.com/bing-yu12/p/6582086.html 我的主从搭建: redis 主环境: centos 6.7 ip:192.168.184.3 redis 3.2.8 redis.conf的重要配置: bind 127.0.0.1选项后面加上192.168.184.3 让外部机器也可以访问该ip iptables规则清除 selinux关闭:setenforce 0 或者v