Mariadb介绍:

  mariadb是mysql的一个分支,需要进一步了解的参考:https://mariadb.org/

  安装参考教程:window版安装:Mariadb 介绍 1 (安装)

         linux版安装    :centos7 yum安装mysql | mariaDb

补充: mysql的主从复制(master-slave),我就以mariadb来进行演示了

Mariadb主从复制:

  1> 基本原理:

    

    MySQL之间数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”的方式记录在二进制日志中,其他数据库作为slave通过一个I/O线程与主服务器保持通信,并监控master的二进制日志文件的变化,如果发现master二进制日志文件发生变化,则会把变化复制到自己的中继日志中,然后slave的一个SQL线程会把相关的“事件”执行到自己的数据库中,以此实现从数据库和主数据库的一致性,也就实现了主从复制。

  2> 实现MySQL主从复制需要进行的配置:

    1> 准备两台服务器

      master    192.168.248,147   /linux  (centos7)

      slave       192.168.248.148  /linux  (centos7)

      

centos7 安装mariadb后,默认无密码登录

> mysql -uroot -p  回车
> use mysql; 切换到mysql数据库
> update user set password=password("自定义密码") where user='root';
> flush privileges; 刷新生效

    2> 配置主服务器  (147 服务器)

> 修改配置文件:
[mysqld]
log-bin=mysql-bin #开启二进制日志
server-id= #设置server-id
> 重启mysql,创建用于同步的用户账号
mysql> CREATE USER 'huhy'@'192.168.248.147' IDENTIFIED BY 'huhy';#创建用户
mysql> GRANT REPLICATION SLAVE ON *.* TO 'huhy'@'192.168.248.147';#分配权限
mysql>flush privileges; #刷新权限
> 查看master状态,记录二进制文件名(mysql-bin.)和位置():
SHOW MASTER STATUS;

  3>从服务器slave修改:

    

从服务器配置:
>my.cnf配置文件,添加server-id
[mysqld]
server-id= #设置server-id,必须唯一
>重启mysql,打开mysql会话,执行同步SQL语句(需要主服务器主机名,登陆凭据,二进制文件的名称和位置):

CHANGE MASTER TO MASTER_HOST='192.168.248.147',MASTER_USER='huhy',MASTER_PASSWORD='huhy', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=;
3> 启动同步进程:
  start slave; 【stop slave】
4> 查看slave状态: 
    show slave status\G;

注意:这个当其中两个都是yes的时候代码同步开启成功。  

  问题:这个可能会出现个问题, Slave_IO_Running: Connecting  连接问题: 如下:
    

产生这个问题的原因是我们创建的同步用户无法进行远程连接,从服务器无法连接到主服务器:

  grant all privileges on *.* to huhy@'%'identified by 'huhy';   授权后即可

  flush privileges;  刷新权限

 执行后即可完成同步 

补充:可以再my.cnf中设置同步哪些数据库:

# 不同步哪些数据库
binlog-ignore-db = mysql # 只同步哪些数据库,除此之外,其他不同步
binlog-do-db = test

测试:

  

   


到这mysql的主从复制已经搞好了,有不理解的可以一起讨论

mysql高级用法(1)- mariadb的主从搭建的更多相关文章

  1. MySQL高级用法

    -- 关联查询-- select * from Goods_BomItems s,Goods_Bom t where t.GoodsBomId = s.GoodsBomId and t.GoodsBo ...

  2. mysql 主从搭建步骤

    mysql 主从搭建步骤 1:主库开启master端bin-log 2:主库创建备份用户 3:主库全备 4:从库导入全备数据 5:从库修改change master to信息 6:从库slave st ...

  3. SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法

    create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...

  4. ### MySQL主从搭建Position

    一.MySQL主从搭建 搭建主从架构的MySQL常用的有两种实现方式: 基于binlog的fileName + postion模式完成主从同步. 基于gtid完成主从同步搭建. 本篇就介绍如何使用第一 ...

  5. mysql主从搭建操作

    1.搭建说明准备工作:主从库已安装mysql软件以及xtracbackup备份工具.具体操作可参见mysql rpm安装文档. 介质 版本操作系统 Red Hat Enterprise Linux S ...

  6. SQL Server、MySQL主从搭建,EF Core读写分离代码实现

    一.SQL Server的主从复制搭建 1.1.SQL Server主从复制结构图 SQL Server的主从通过发布订阅来实现 1.2.基于SQL Server2016实现主从 新建一个主库&quo ...

  7. 《Mysql高级知识》系列分享专栏

    <Mysql高级知识>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/201756.html 文章 MySQL数据库InnoDB引擎 ...

  8. redis的Linux系统安装与配置、redis的api使用、高级用法之慢查询、pipline事物

    今日内容概要 redis 的linux安装和配置 redis 的api使用 高级用法之慢查询 pipline事务 内容详细 1.redis 的linux安装和配置 # redis 版本选择问题 -最新 ...

  9. sqlalchemy(二)高级用法

    sqlalchemy(二)高级用法 本文将介绍sqlalchemy的高级用法. 外键以及relationship 首先创建数据库,在这里一个user对应多个address,因此需要在address上增 ...

随机推荐

  1. JDBC 线程安全 数据库连接池

    jdbc 是线程安全的,但是,推荐一个线程用一个链接 JDBC is thread safe: It is quite OK to pass the various JDBC objects betw ...

  2. Session覆盖测试(要验证码提交到后续页面操作的 绕过去的场景)

    测试原理和方法 找回密码逻辑漏洞测试中也会遇到参数不可控的情况,比如要修改的用户名或者绑定 的手机号无法在提交参数时修改,服务端通过读取当前session会话来判断要修改密码的账 号,这种情况下能否对 ...

  3. QuickSortDemo

    package com.suning.sntcscase.controller.MutiThread; import static jdk.nashorn.internal.objects.Globa ...

  4. ssh_exchange_identification: read: Connection reset by peer 解决思路

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/Jdk_yxs/article/deta ...

  5. Python技术点

    调试过程中遇到的问题,继上一篇博文! (1)爬取第一个页面之后名字链接页面存在分页情况 解决方案:根据子网页,选择合适的正则表达式,获取页面数,根据页面数自动生成换页URL (2)测试过程中某些网页数 ...

  6. scala 抽象类

    package com.jason.qianfeng abstract class Person(val gender: String) { val name: String val age: Int ...

  7. remote origin already exists解决办法

    如图翻译过来就是:致命:远程来源已经存在 此时,我们可以先 git remote -v 查看远程库信息: 可以看到,本地库已经关联了origin的远程库,并且,该远程库指向GitHub. 解决办法如下 ...

  8. 线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式

    1. 通过Executors创建线程池的弊端 在创建线程池的时候,大部分人还是会选择使用Executors去创建. 下面是创建定长线程池(FixedThreadPool)的一个例子,严格来说,当使用如 ...

  9. GIL全局解释锁,死锁,信号量,event事件,线程queue,TCP服务端实现并发

    一.GIL全局解释锁 在Cpython解释器才有GIL的概念,不是python的特点 在Cpython解释器中,同一个进程下开启的多线程,同一时刻只能有一个线程执行,无法利用多核优势. 1.GIL介绍 ...

  10. 收藏单词TOEFL备份托福英语

    TOEFL托福词汇串讲(文本) alchemy(chem-化学)n. 炼金术 chemistry 化学 alder 赤杨树 联想:older 老人坐在赤杨树下 sloth 树懒 algae n.海藻 ...