• 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,可以测试写入数据 


     

  • 相关阅读:
    CMP指令(转)
    步进电机简介
    IDE改为AHCI后系统无法启动的解决办法
    无线网络(WLAN)常见加密方式介绍
    51单片机学习记录——数码管动态显示
    DEDECMS 调用上级栏目标题
    微信小程序开发系列(二)小程序的全局文件
    微信小程序开发系列(一)小程序开发初体验
    python+unittest日志和报告输出模块
    pip更换国内镜像源
  • 原文地址:https://www.cnblogs.com/Wj-Li/p/10864907.html
Copyright © 2020-2023  润新知