zoukankan      html  css  js  c++  java
  • Linux5

    centos7安装mariadb
    1.yum  得配置yum源,配置阿里云的 两个 yum源  ,阿里云的yum源中,会有 mariadb的软件包

    阿里云的yum仓库中,mariadb版本如下

     mariadb                                x86_64                1:5.5.60-1.el7_5                   os                8.9 M
     mariadb-server                         x86_64                1:5.5.60-1.el7_5                   os                 11 M
     
     
     在企业中,这等版本太低,安全性太低,因此会选择mariadb官方 提供的yum源,下载官方mariadb包
     
    配置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.此时通过yum安装的软件,都是mariadb官方的了


    2.rpm方式

    3.源码编译方式 


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


    5.mariadb初始化

    执行如下命令
    mysql_secure_installation


    6.修改数据库的编码

    1.中文编码设置,编辑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


    7.远程连接数据库
    #创建普通用户
    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 

    3.

    mysql主从复制

    1.环境准备,准备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/

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


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

    # (下面这几行是一句mysql命令!)
    change master to master_host='192.168.29.136',master_user='azheng',master_password='123',master_log_file='s17-mysql-bin.000001',master_log_pos=245;

    3.开启slave同步

    start slave ;


    4.检查主从同步是否正常
    show slave statusG

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

    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正常


    6.


    过滤出 空白行,以及注释行意外的,有用信息
    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的数量


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

    hmset  new:2  title  "tian qi yu bao"  content "tian qi bu cuo"  redian "jiaodain fangtan "  [f

    #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 

    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配置文件即可

    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 


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


    redis-6381.conf 

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

    2.分别启动三个 数据库 


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


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


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

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

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

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

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

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

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

    5,可以测试写入数据 


     

  • 相关阅读:
    [转发]深入理解git,从研究git目录开始
    iOS系统网络抓包方法
    charles抓包工具
    iOS多线程中performSelector: 和dispatch_time的不同
    IOS Core Animation Advanced Techniques的学习笔记(五)
    IOS Core Animation Advanced Techniques的学习笔记(四)
    IOS Core Animation Advanced Techniques的学习笔记(三)
    IOS Core Animation Advanced Techniques的学习笔记(二)
    IOS Core Animation Advanced Techniques的学习笔记(一)
    VirtualBox复制CentOS后提示Device eth0 does not seem to be present的解决方法
  • 原文地址:https://www.cnblogs.com/Wj-Li/p/10864907.html
Copyright © 2011-2022 走看看