master主机mysql安装配置

  1.下载mariadb(Centos7开始mysql的名字)

    (1)其它方式(不推荐):rpm安装/软件源安装

    (2)yum安装(推荐):

      ①centos官方的yum源(功能少)

      ②阿里云的yum源(精简版)

        配置yum源仓库:/etc/yum.repos.d(yum工具介绍已经配置)

        yum install mariadb-server mariadb

      ③mysql官方的yum源(下载较慢,文件完整性最好)

        A.手动配置仓库目录:

          a.找到yum仓库目录,创建repo文件-------touch /etc/yum.repos.d/mariadb.repo

          b.写入指定的mysql官方yum源           

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.1/centos7-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

            c.此时yum会自动的加载这个repo文件,读取内容

          d.下载mariadb数据库,服务端和客户端

        B.yum install MariaDB-server MariaDB-client

  2.启动mariadb数据库

    systemctl start mariadb---------用管理工具启动数据库

    systemcrl status mariadb-------查看状态,或者ps进程,netstat端口信息      

  3.初始化数据库,清除匿名用户,以及test数据库,保证数据库安全,允许mysql远程登录

    mysql_secure_installation---------初始化命令

    注意允许远程登陆

  4.修改mariadb数据库的的中文支持

    (1)\s查看数据库编码信息

    (2)修改配置文件(yum源安装的在/etc/my.cnf),支持中文

      vim /etc/my.cnf          

#服务端的编码添加如下内容

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

#客户端的编码如下

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

  5.mysql远程登录的设置

    grant all privileges on *.* to root@'%' identified by '123456';---------------不授权,远程无法登陆

  6.数据库的备份与恢复

    备份-----mysqldump -uroot -p --all-databases > /tmp/alldata.sql

    恢复:

      方式一:进入数据库,执行source命令读取sql文件:

          (1)mysql -uroot -h192.168.160.134 -p

          (2)source /tmp/alldata.sql  

      方式二:使用登录命令导入数据

          mysql -uroot -p < /tmp/alldata.sql

      方式三:数据量较大时,使用第三方工具

  7.mysql主从复制(master-slave)

    主从机安装好mariadb数据库

    master主机:

      (1)修改mysql配置文件,开启binlog日志功能------vim /etc/my.cnf

#服务端添加一下代码

[mysqld]

server-id=1

log-bin=mastermysql-bin

      (2)重启数据库生效binlog日志文件--------systemctl restart mariadb

      (3)登录数据库---------mysql -uroot -p

      (4)主库master创建用于主从复制的用户---------create user 'abc'@'%' identified by '123456';

      (5)授权slave给主从复制的用户:

          grant replication slave on *.* to 'abc'@'%';

          grant select on *.* to 'abc'@'%';-------------授权查看给主从复制账号,以便后期登录使用

      (6)进行锁表,防止在主从复制设置过程中数据写入------flush table with read lock;

      (7)导出当前master主库数据,发送给slave从库,保证起点的一致性:

          mysqldump -uroot -p --all-databases > /tmp/alldata.sql

          scp /tmp/alldata.sql root@192.168.160.130:/tmp/

        (8)slave从库机读取/tmp/alldata.sql进行master主库数据同步,删除多余数据库,同时进行slave从库机配置

      (9)slave从库机配置完后才能后,解锁,进行数据写入,查看从库是否正常执---------解锁-----------unlock tables;

slave从机mysql安装配置

  下载安装同master主机

    下载mariadb-------------启动mariadb----------------是否初始化自选

  7-(8)-1.将master主机的数据库备份文件发送到slave进行恢复 

    目的是保持主从数据库的数据和配置的一致性 

    mysql -uroot -p < /tmp/alldata.sql

    删除多余的数据库

  7-(8)-2.修改slave从库机的配置文件,开启id, 设为只读模式-----------vim /etc/my.cnf

#服务端添加一下代码

[mysqld]

server-id=1000

read-only=true  

    7-(8)-3.重启slave从库机的mariadb数据库----------systemctl restart mariadb

  7-(8)-4.登录slave从库机数据库-----------mysql -uroot -p

  7-(8)-5.执行命令,建立主从复制关系

change master to master_host='192.168.160.134',  --主库master地址

master_user='abc',                --用于主从复制在主库创建的用户

master_password='123456',            --用于主从复制在主库创建的用户密码

master_log_file='mastermysql-bin.000001',       --主库biinary log日志文件,主库my.cnf配置了日志名

master_log_pos=616;             --主库数据起点(在主库mysql中执行命令show master status可以查看)

    7-(8)-6.开启从库的slave功能-----start salve;

  7-(8)-7查看从库的状态,检测是否复制成功:

    show slave status\G ;

    查看如下两个参数是否是yes,主从复制即为正确:

      Slave_IO_Running: Yes

      Slave_SQL_Running: Yes

  7-(8)-8.重启数据库进入,此时需要输入密码,也可使用主从复制账号登录,和主库机的账号密码一样,回到主机进行解锁操作

    

Mysql之Linux中mariadb主从复制的更多相关文章

  1. linux中mariadb的安装

    在Linux中mariaDB的安装 MariaDB其实就是MySQL的分支,是为了应对MySQL的即将的闭源风险所产生的. Linux系统中软件包的格式为mysql.rpm格式. 通过yum去安装 L ...

  2. linux中mariadb用navicat远程连接

    在Linux中创建数据库并且远程图形化工具连接 安装数据库 [root@node1 ~]# yum install mariadb-server -y #这里我使用的mariadb 其他数据库也可以 ...

  3. 应用mysql(Linux中安装)

    当前 mysql 官网的安装教程,指明可以使用 yum 方式. 若在Ubuntu中安装,参考“Linux(Ubuntu)下MySQL的安装与配置”. MySQL YUM Repository MySQ ...

  4. Mysql篇--Linux中安装Mysql

    一.前述 由于Windows安装Mysql非常麻烦,所以分享一篇Linux中对MySQL的搭建,废话不多说,来,come on. 二.步骤 2.1 yum安装 yum install mysql-se ...

  5. kali linux中mariadb加上密码

    kali自带mysql.2019.4 中带得是:MariaDB.据说跟Mysql差不多.简单用了一下发现root用户可以不要密码进入Mysql! 这极不习惯,不输入密码感觉好像少了点什么.这肯定是权限 ...

  6. mysql在linux中安装问题和命令

    1. cd /  切换到 根目录. 2. cd /root 切换到根目录下的 root目录. 3. cd .. 切换到当前目录的上级目录. 4. rpm --qa mysql 查询已经安装mysql. ...

  7. windows与linux中的mysql配置主从

    最近在给学生讲解数据库的主从配置,由于学生电脑里面装的虚拟机是linux的,但是本机的系统是windows的,所以需要用windows中的mysql与linux中的mysql进行主从配置.下面说一下主 ...

  8. JAVAEE——宜立方商城13:Mycat数据库分片、主从复制、读写分离、100%Linux中成功安装Mysql的方法

    1 海量数据的存储问题 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求.这个时候NoSQL ...

  9. 在 Linux 中怎样将 MySQL 迁移到 MariaDB 上

    自从甲骨文收购 MySQL 后,由于甲骨文对 MySQL 的开发和维护更多倾向于闭门的立场,很多 MySQL 的开发者和用户放弃了 MySQL.在社区驱动下,促使更多人移到 MySQL 的另一个叫 M ...

随机推荐

  1. asList和ArrayList不得不说的故事

    目录 简介 创建ArrayList UnsupportedOperationException asList 转换 总结 asList和ArrayList不得不说的故事 简介 提到集合类,ArrayL ...

  2. jdbc批量插入数据

    //插入很多书(批量插入用法) public void insertBooks(List<Book> book) {   final List<Book> tempBook=b ...

  3. React全家桶+AntD 共享单车后台管理系统开发

    第1章 课程导学对课程整体进行介绍,并且说明学习的必要性.第2章 React基础知识React基础知识以及生命周期的介绍,并使用React官方脚手架初始化基础项目,同时介绍了新一代打包工具Yarn.第 ...

  4. 「每天一道面试题」Java类的生命周期包括哪几个阶段?

    一个Java类被加载到虚拟机中,它的生命周期才算开始,直到被从内存中卸载,它的生命周期才算结束.从开始到结束,它的整个生命周期包括加载.验证.准备.解析.初始化.使用和卸载7个阶段,其中验证.准备和解 ...

  5. 编译警告:warning: operation on ‘i’ may be undefined

    dest[i++]=src[i]; 这行代码,编译时会遇到警告: warning: operation on ‘i’ may be undefined(对于i变量的操作,有可能是未定义的) 改成 de ...

  6. swupdate 之 readback handler

    背景 使用 swupdate 作为 OTA 方案 ,有项目要求在写入数据到分区之后需要再次读出校验. 初步实现:readout-verify attribute 初步分析有两种方式 方案一 在每一笔数 ...

  7. Https双向验证与Springboot整合测试-人来人往我只认你

    1 简介 不知不觉Https相关的文章已经写了6篇了,本文将是这个专题的最后一篇,起码近期是最后一篇.前面6篇讲的全都是单向的Https验证,本文将重点介绍一下双向验证.有兴趣的同学可以了解一下之前的 ...

  8. Composition API

    介绍 Composition API的主要思想是,我们将它们定义为从新的 setup 函数返回的JavaScript变量,而不是将组件的功能(例如state.method.computed等)定义为对 ...

  9. C. Fountains

    \(整体思路没错,但是我貌似太麻烦了.......\) \(分情况讨论\) \(Ⅰ.coin和diamond各选一个物品,这个简单\) \(Ⅱ.在coin中选两个或者在diamond选两个\) \(开 ...

  10. 常用linux命令学习记录

    批量替换文件中字符串: sed -i "s/ITSApi/icallApi/g" `grep ITSApi -rl icallbiz` 解释: 将icallbiz目录文件中包涵的I ...