mysql主从机制的部署与应用

部署mysql主从复制

Mysql master ip: 192.168.30.25   一主两从

Mysql slave ip: 192.168.30.24

Mysql slave ip:192.168.30.23

关闭防火墙

[[email protected] ~]# setenforce 0

[[email protected] ~]# iptables -F

[[email protected] ~]# systemctl stop firewalld

在mysql master 上的配置NTP时间同步服务器

[[email protected] ~]# yum -y install ntp

[[email protected] ~]# vim /etc/ntp.conf

server 127.127.1.0

fudge 127.127.1.0 startum 8

启动NTP服务

[[email protected] ~]# systemctl enable ntpd

[[email protected] ~]# systemctl start ntpd

在2个slave节点上配置与master进行时间同步

[[email protected] ~]# yum -y install ntpdate

[[email protected] ~]# /usr/sbin/ntpdate 192.168.30.25

 

所有机器安装mariadb

[[email protected] ~]# yum -y install mariadb mariadb-server mariadb-devel

配置mysql master 服务器

1,在etc/my.cnf中修改或者增加如下内容

[mysqld]

Server-id=1

Log-bin=mysql-binlog

Log-slave-ipdates=ture

重启mysql服务器

[[email protected] ~]# systemctl start mariadb

 

2,创建replication用户

Replication slave 用于复制从属服务器,(从主服务器中读取二进制日志事件权限

[[email protected] ~]# mysql -u root

MariaDB [(none)]> grant replication slave on *.* to ‘myslave‘@‘192.168.30.%‘identified by ‘123456‘;

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [(none)]> show master status;

+---------------------+----------+--------------+------------------+

| File                | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+---------------------+----------+--------------+------------------+

| mysql-binlog.000003 |      475 |              |                  |

+---------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

 

MariaDB [(none)]> exit

3,获得Master DB 的相关信息

供Slave 连接时使用,记录下file和position的值

4,备份matser原有数据此处省略

5,从库连接主库进行测试,如果连接成功说明主库配置成功

[[email protected] ~]# mysql -u myslave -p123456 -h 192.168.30.25

[[email protected] ~]# mysql -u myslave -p123456 -h 192.168.30.25

在从服务器都修改Mysql 配置文件

Vim /etc/my.cnf

Server-id = 2

Relay-log=relay-log-bin

Rela:y-log-index=slave-relay-bin.index

配置多个从服务器时依次设置server-id号

修改完重启数据库

[[email protected] ~]# systemctl restart mariadb

 

6,在slave 服务器授权,启动从库,进行主从库同步

[[email protected] ~]# mysql -u root

MariaDB [(none)]> stop slave;

MariaDB [(none)]> change master to

    -> master_host=‘192.168.30.25‘,

    -> master_user=‘myslave‘,

    -> master_password=‘123456‘,

    -> master_log_file=‘mysql-binlog.000003‘,

    -> master_log_pos=475;

Query OK, 0 rows affected (0.01 sec)

 

MariaDB [(none)]> start slave;

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [(none)]> show slave status\G

在master查看授权成功

[[email protected] ~]# netstat -anpt |grep mysql

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      4162mysqld         

tcp        0      0 192.168.30.25:3306      192.168.30.23:58866     ESTABLISHED 4162mysqld         

tcp        0      0 192.168.30.25:3306      192.168.30.24:59174     ESTABLISHED 4162mysqld

进行测试是否成功

主库当前存在的库

MariaDB [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

4 rows in set (0.01 sec)

从库当前的库

MariaDB [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

 

主库添加创建库和表

MariaDB [(none)]> create database sampdb;

Query OK, 1 row affected (0.00 sec)

 

MariaDB [(none)]> use sampdb;

Database changed

MariaDB [sampdb]> create table new(name char(20),phone char(20));

Query OK, 0 rows affected (0.08 sec)

 

MariaDB [sampdb]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sampdb             |

| test               |

+--------------------+

5 rows in set (0.00 sec)

从库验证

MariaDB [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sampdb             |

| test               |

+--------------------+

 

原文地址:https://www.cnblogs.com/zc1741845455/p/10921251.html

时间: 2024-08-06 23:47:36

mysql主从机制的部署与应用的相关文章

MySQL主从多种架构部署及常见错误问题解析

本文的主要内容有mysql复制原理,mysql一主多从.双主架构的示例解读,以及mysql在主从复制架构实践中的常见错误问题和解决方法. 一 mysql复制原理 1 原理解读 mysql的复制(replication)是异步复制,即从一个mysql实列或端口(Master)复制到另一个mysql实列的或端口(slave):复制操作由3个进程完成,其中2个(SQL进程和I/O进程)在Slave上,另一个在Master上:要实现复制,必须打开Master端的二进制日志(log-bin),log-bi

MySQL主从

mysql主从--1 [[email protected] ~]# rm -rf /usr/local/mysql         (删除之前安装的MySQL) [[email protected] ~]# cd /usr/local/src/ [[email protected] src]# wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz [[email protected]

linux下配置mysql主从

为了做实验方便,我们在同一台机器上配置两个MySQL服务(开两个端口)  1.安装.配置MySQL 事先已经安装好mysql: [[email protected] ~]# cd /usr/local/ [[email protected] local]# cp -r mysql/ mysql_2 [[email protected] local]# cd mysql_2/ 初始化mysql2,如果出现两个 "OK" 并且生成/data/mysql2目录说明正确: [[email pr

趁一切还来得及【五】数据库MySQL主从同步的实践部署

自笑栖迟淮海客,十年心事一灯前.                                           --[元]萨都拉 第二章 数据库MySQL主从同步部署操作实践 2.1 数据同步相关应用基础 ①MySQL主从同步架构是目前使用最多的数据库架构之一,尤其是负载比较大的网站,因此对于主从同步的部署管理也就显得非常重要. ②MySQL主从同步的作用:(1) 数据分布,(2) 负载平衡(load balancing),(3) 备份,(4) 高可用性(high availability

MySQL 主从同步(1) - 概念和原理介绍 以及 主从/主主模式 部署记录

Mysql复制概念Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收从那时起

一键完成MySQL主从部署.

环境声明: 主从服务器位于 192.168.0.0/24 网段 master-->IP:192.168.0.88 master-->IP:192.168.0.89 在Master---主数据库的脚本  master-IP: 192.168.0.88 #!/bin/sh # Function: This is used for mysql-master role # made by zhigang.wang # contact: [email protected] MYUSER=root MYP

在 CentOS7 上部署 MySQL 主从

在 CentOS7 上部署 MySQL 主从 1 通过 SecureCRT 连接至 MySQL 主服务器: 2 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般情况 my.cnf 都会位于 /etc/ 目录下: 3 用 vim 打开 MySQL 的配置文件 my.cnf: vim /etc/my.cnf 4 找到 [mysqld] 并在其后添加如下配置: # 唯一标识此 MySQL 服务器,默认值为 1,一般采用所属 IP 的末端值 server-

基于LNAMP环境搭建discuz论坛并部署mysql主从

这几天看见个题目:有两台服务器,其中一台部署apache+php+nginx+discuz,另外一台单独跑mysql数据库,其中nginx监听80端口,负责跑静态网页,apache监听88端口,负责跑动态网页(php相关)并且由nginx代理.最后在A设备上安装一个mysql数据库与B设备上的数据库构成mysql主从架构. 实验环境: 1.VMware Workstation 10 2.真机IP:192.168.0.113 2.设备A:nginx+apache+php+discuz+mysql,

MySQL主从同步部署

mysql主从同步部署: master:192.168.2.67 slave:192.168.2.211 同步系统非默认库,master中其它库已经运行一段时间. master端: vim /etc/my.cnf server-id       = 1    master端ID号 log-bin=/data/logbin/mysql-bin    日志路径及文件名 #binlog-do-db = debit            同步debit,此处关闭的话,就是除不允许的,其它的库均同步. b