一  配置mariadb官方的yum源

  1.进入yum仓库 /etc/yum.repos.d/目录下
  手动创建一个 mariadb.repo
  写入如下内容
  [mariadb]
  name = MariaDB
  baseurl = http://yum.mariadb.org/10.1/centos7-amd64
  gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
  gpgcheck=1

  2.安装号了mariadb,启动服务端

    systemctl start mariadb

  3.mariadb初始化

    mysql_secure_installation

  4.修改数据库的编码

  中文编码设置,编辑mysql配置文件/etc/my.cnf,下入以下内容

  复制代码
  [mysqld]
  character-set-server=utf8
  collation-server=utf8_general_ci
  log-error=/var/log/mysqld.log
  [client]
  default-character-set=utf8
  [mysql]
  default-character-set=utf8

  5.远程连接数据库时,要先关闭防火墙

    iptables  -F

    创建普通用户

      create user zhaoshixun@'%' identified by 'zsx666';

    对用户授权,给予root用户远程登录的权限

    #给予root权限,所有的权限,并且可以远程登录

      grant all privileges on *.* to root@"%" identified by "redhat";

    立即刷新授权表

      flush privileges;

备份mysql的数据
1.命令
mysqldump -u root -p --all-databases > /tmp/db.dump

指定ace_crm数据库导出
mysqldump -uroot -p --database ace_crm > /tmp/ace_crm.dump

#参数 --all-databases 导出所有的数据库

2.导入数据库信息
mysql -uroot -p < /tmp/db.dump

#导入数据方式2
进入数据库后,执行
MariaDB []> source /tmp/db.dump

遇到的问题:ModuleNotFoundError: No module named 'pymysql'

  先查看是否装了pymysql

  pip3 install pymysql

我自己都无语了:要么没装django, 要么没装pymysql,要么不关防火墙

mysql主从复制:

  环境准备,准备2台机器 ,一个主 一个从

  1.主库配置如下
    第一步:编辑mysql的配置文件

    vim /etc/my.cnf
    写入如下内容
    [mysqld]
    server-id=1
    log-bin=s17-mysql-bin # 二进制日志

  2.创建一个用于同步的用户

    create user 'shixun'@'%' identified by 'shixundsb';

  3.给予这个账号,一个从的身份
    grant replication slave on *.* to 'shixun'@'%';

  4.导出当前数据库的数据,发送给从库,进行导入
    mysqldump -u root -p --all-databases > /tmp/db.dump

  5.发送主库的mysql数据,给从库
    scp /tmp/db.dump root@从库ip:/opt/

  从库导入数据

    source /opt/db.dump;

  以上两个库处在同一起始点

  从库操作如下:
  1.编辑从库的 mysql配置文件,写入 一个 身份id号,区别于主库
    vim /etc/my.cnf
  写入主机身份id
    server-id=10

  2.通过一条命令,确保主从成功

    change master to master_host='192.168.253.132',
    master_user='xiaoxue',
    master_password='123456',
    master_log_file='s17-mysql-bin.000005',
    master_log_pos=245;

  3.开启slave同步

    start slave ;

  4.检查主从同步是否正常
    show slave status\G

  5.可以测试往主库写入数据,查看从库数据

遇到的问题:  1.防火墙没关  systemctl stop firewalld.service

      2.master_log_file='s17-mysql-bin.000005',  有空格

查看进程:     ps   -ef|grep   redis

redis  高速缓存利用内存保存数据,读写速度远超硬盘

  1.卸载通过yum安装的redis数据库

    yum remove redis -y

  2.通过源码编译安装
    (1).下载redis的源代码
      wget http://download.redis.io/releases/redis-4.0.10.tar.gz

    (2).解压缩源码
      tar -zxf redis-4.0.10.tar.gz

    (3).进入redis源码目录,编译安装,生成可执行命令
      redis不需要执行configure,因为他已经有了makefile

    (4).通过如下2个命令,生成redis的可执行文件
      make && make install

    (5).此时已经可以启动redis服务端了

  3.安全性能下的启动redis ,在redis.conf中,更改默认端口,添加密码,开启安全模式

    #手动创建redis的配置文件
    touch s17redis.conf
    #s17redis.conf 内容如下
    [root@master redis-4.0.10]# cat s17redis.conf
    bind 0.0.0.0
    protected-mode yes
    port 6888
    daemonize yes
    requirepass alexdsb

  4.启动redis服务端,指定配置文件
    redis-server s17redis.conf

  5.测试访问redis服务端
    redis-cli -p 6888
    进入之后,可以通过auth指令,进行redis密码验证
    验证通过后,可以发送ping,得到pong代表redis正常

过滤出 空白行,以及注释行意外的,有用信息
grep -v "^#" redis.conf | grep -v "^$"

学习redis 常用命令

  set key value #设置一个键值对

  get key #获取key的值

  keys * 查看所有key

  type key 查看key类型

  expire key seconds 过期时间

  ttl key 查看key过期剩余时间 -2表示key已经不存在了

  persist 取消key的过期时间 -1表示key存在,没有过期时间

  exists key 判断key存在 存在返回1 否则0

  del keys 删除key 可以删除多个

  dbsize 计算key的数量

  lpush duilie 'alex'  'puxue'   # 新建一个队列,从左边放入两个元素

  lrange duilie 0 -1   # 查看duilie所有元素

redis的哈希结构 ,如同python字典套字典

redis持久化  rdb 模式 与aof模式

  1. rdb模式持久化

    第一步,准备一个redis配置文件, rdbredis.conf
    写入如下内容

    daemonize yes #后台运行redis
    port 6379 #redis端口
    logfile /data/6379/redis.log #redis日志文件位置
    dir /data/6379/ #指定redis数据文件夹放在哪
    dbfilename s17dump.rdb #指定rdb的数据文件
    bind 0.0.0.0
    requirepass redhat #指定redis的密码
    save 900 1 #代表 900秒内 有1个修改key的操作,就进行持久化
    save 300 10 # 300秒内 有10个修改类的操作,就持久化
    save 60 10000 # 60秒内 有10000个修改类的操作,就持久化

  2.通过配置文件启动 redis服务端,支持rdb持久化的 服务端
    #并且可以通过 save指令 手动触发持久化数据

    redis-server rdbredis.conf

查看redis的版本:  redis-server   -v

2. aof持久化模式 ,不需要你手动的save触发持久化

配置方式如下
  1.修改redis的配置文件,如下 ,再次创建一个 新的aof配置文件

    touch aofredis.conf

  #编辑配置文件,写入如下内容

    vim aofredis.conf

  #写入如下内容

    daemonize yes
    port 6379
    logfile /data/6379/redis.log
    dir /data/6379
    appendonly yes #开启aof持久化的参数,就是这个
    appendfsync everysec #每秒进行一次aof持久化

  3.支持aof方式的持久化

    redis-server aofredis.conf

  4.验证 aof持久化,

    写入数据后,杀死进程,
    再次启动redis,检查数据

#在不重启的情况下,切换rdb数据到aof模式下

  1.环境准备 准备一个rdb的redis数据库,并且是2.0版本以上的

  2.登陆此时的rdb数据库,通过两条命令,临时修改 切换到aof模式下,也是吧rdb数据转化为aof的模式

    127.0.0.1:6379> CONFIG set appendonly yes #开启AOF功能
    OK
    127.0.0.1:6379> CONFIG SET save "" #关闭RDB功能
    OK

  3.此时还是临时生效,必须修改配置文件,永久生效
  配置文件,修改为如下

    [root@master redis-4.0.10]# cat rdbredis.conf
    daemonize yes
    port 6379
    logfile /data/6379/redis.log
    dir /data/6379/
    bind 0.0.0.0
    appendonly yes
    appendfsync everysec

redis主从同步机制

  1.环境准备,准备3个redis数据库实例, (准备3个redis配置文件即可)

    可能用到的命令:

      sed 's/6380/6381/g' redis-6380.conf > redis-6381.conf

          替换成6381  g 全局范围内     写到 redis-6381.conf 文件中

  redis-6379.conf 文件中配置:

    port 6379
    daemonize yes
    pidfile /data/6379/redis.pid
    loglevel notice
    logfile "/data/6379/redis.log"
    dbfilename dump.rdb
    dir /data/6379

  redis-6380.conf  中一样   把6379替换成6380

  redis-6381.conf 同理   把6379替换成6381

  2.分别启动三个 数据库

  3.此时已经是一主两从的身份了

  4.可以演示在主库写入数据,从库读取数据的实验

  SLAVEOF 127.0.0.1 6379 # 临时生效   要想永久生效, 写在配置文件中 永久生效(从)

  info replication   # 查看权限信息

  ps -ef|grep redis  # 查看进程

遇到的问题:  没有关闭防火墙    (重点)  防火墙关闭后 , 重新启动redis

      没有创建 6379 6380 6381 这三个文件夹

手动切换主从同步的故障(当主库挂掉的时候,怎么办 )

  1.模拟主库挂掉,kill杀死主库的进程

  2.此时俩从库,群龙无手

  3.手动的切换两个从库的身份,让其中一个 为新的master

    选举6381为新的master,只需要在6381下输入 slaveof no one

    然后配置6380为新的slave ,只需要 在6380下输入 slaveof 127.0.0.1 6381

  4.此时新的一主一从 就好了
    主 6381
    从6380

  5,可以测试写入数据

  

centos安装mariadb的更多相关文章

  1. CentOS 安装MariaDB

    1.安装 #同时安装mariadb和mariadb-server [root@bigdata-senior01 yum.repos.d]# yum -y install mariadb mariadb ...

  2. [部署]CentOS安装MariaDB

    环境 虚拟机:VMWare10.0.1 build-1379776 操作系统:CentOS7 64位 步骤 1.添加MariaDB的yum仓库源,在/etc/yum.repos.d/ 下建立 Mari ...

  3. CentOS安装mariadb做为mysql的替代品

    mariadb做为mysql的替代品 现在centos的新版本yum包已换成mariadb 安装一些库 yum install gcc gcc-c++ wget net-tools 复制代码 查看SE ...

  4. 四、CentOS 安装mariadb——Linux学习笔记

    A)安装及配置 下载mariadb: yum -y install mariadb-server mariadb 开启mariadb服务: systemctl start mariadb.servic ...

  5. centos 安装mariadb 替代mysql

    yum install mariadb-server mariadb systemctl start mariadbmysql -uroot -p默认密码mysql -uroot -pmysql_se ...

  6. CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置

    1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB,两条命令都可以 systemctl sta ...

  7. Centos 使用YUM安装MariaDB

    1.在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下: [azureuser@mono etc]$ cd /etc/yum.repos.d [azureuser@mo ...

  8. Cenos7 编译安装 Mariadb Nginx PHP Memcache ZendOpcache (实测 笔记 Centos 7.0 + Mariadb 10.0.15 + Nginx 1.6.2 + PHP 5.5.19)

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.准备 1.1 显示系统版 ...

  9. CentOS7 编译安装 Mariadb (实测 笔记 Centos 7.0 + Mariadb 10.0.15)

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.准备 1.1 显示系统版 ...

随机推荐

  1. webpack之带有可自动打开浏览器及热重载的基本配置

    什么是Webpack WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并 ...

  2. jQuery (02) 重点知识点总结

    jQuery 如果用户未登录,当加入购物车,会将商品相关信息存入 cookie 或者 session,这两个都是可以标识用户信息的东西 是一个 JavaScript 库,封装了常用的开发功能,和一些需 ...

  3. mobile_像素

    document.documentElement.clientWidth       不包含滚动条 window.innerWidth                                  ...

  4. 关于SQLite3笔记

    sq .help .quit .exit 创建和连接数据库:在linux中 sqlite3 数据库名 没有就创建 有就连接 .show 显示各种设置的当前值. .echo ON|OFF echo命令 ...

  5. 用TCP IP从C#实时传数据到Matlab

    项目需要要从C#传实时数据到Matlab到数据分析,应该很多人也有这个需求,但是网上这方面的数据比较少,所以我把代码稍微贴下 首先是C#的部分 //介于我是同台电脑上传数据,直接用自己的IP建一个Se ...

  6. 关于vue页面多了之后,webpack热更新速度慢的解决办法

    vue项目大了之后,每次热更新都要10多秒的时间, 网上找了一大堆发现一个有用的办法 "env": { "development":{ "plugin ...

  7. A计划 HDU - 2102

    A计划 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  8. 自学stm32的一些个人经验

    1.首先我们先看看与STM32相关的文档 我们假定大家已经对STM32的书籍或者文档有一定的理解.如不理解,请立即阅读STM32的文档,以获取最基本的知识点. 如果你手上拥有ST官方主推的STM32神 ...

  9. Django数据库,在原有表中添加新字段

    1.在你要添加新字段的app的 models.py 文件中添加需要新增的字段(这里新增的是dress字段): from django.db import models # Create your mo ...

  10. MySQL 的安装

    MySQL的全部安装步骤. 1::本案例要求熟悉MySQL官方安装包的使用,快速构建一台数据库服务器: 安装MySQL-server.MySQl-client软件包 修改数据库用户root的密码 确认 ...