crm
1.一定得会用linux发行版 centos  熟悉各种linux命令
2.你的确保linux服务器可以上网 ,  一定得有ip地址,且确保dns解析正常   /etc/resolv.conf
3.上传代码到linux服务器,  lrzsz  xftp
4.解决前后端,代码运行的 环境依赖包问题
5.你的后端必须得有数据库支撑,  linux安装mysql的步骤
6.以及购物车的redis缓存 

centos7  mariadb的学习
1.在linux上安装软件的方式
    -yum安装  在线搜索rpm格式的软件包,进行自动的依赖关系处理,下载,安装
    (阿里云的yum仓库,里面的软件都是阿里云运维工程师定义的)
        yum install mysql -y
    -手动rpm包安装 ,需要手动解决N个软件依赖
        -rpm -ivh  mysqlxx.rpm
    -源码编译安装(这种方式是企业应用最多的)
        (可以自定制软件的版本,以及可以最优先的使用最新版本软件)

2.yum源的配置(mysql的yum源)
    1.在线下载阿里云的 yum 仓库,以及epel仓库
        CentOS-Base.repo  epel.repo
    2.安装mysql的方式
        yum install mysql-server  mysql -y
        yum install mariadb-server  mysql -y (下面这一行才是对的) 

    3.安装mysql的方式也有2种,阿里云官方提供的mariadb软件包,版本可能太低,但是下载网速很快,方便学习使用

    4.在企业里面,多半不会使用阿里云的mariadb版本,因为版本太低,安全性太低,公司会配置myariadb官方的yum仓库
        1.手动创建mariadb的仓库文件
            touch Mariadb.repo
        2.写入配置信息
            [mariadb]
            name = MariaDB
            baseurl = http://yum.mariadb.org/10.1/centos7-amd64
            gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
            gpgcheck=1
        3.尝试安装最新版本mariadb
            cat

    5.使用mysql,启动
    systemctl start mariadb 

    6.初始化数据库
    mysql_secure_installation

    7.配置数据库的中文支持
        1.修改mysql的配置文件,支持中文编码

        cat /etc/my.cnf  和我一致就行
            [mysqld]
            character-set-server=utf8
            collation-server=utf8_general_ci
            log-error=/var/log/mysqld.log
            datadir=/var/lib/mysql
            socket=/var/lib/mysql/mysql.sock
            # Disabling symbolic-links is recommended to prevent assorted security risks
            symbolic-links=0
            # Settings user and group are ignored when systemd is used.
            # If you need to run mysqld under a different user or group,
            # customize your systemd unit file for mariadb according to the
            # instructions in http://fedoraproject.org/wiki/Systemd

            [client]
            default-character-set=utf8

            [mysql]
            default-character-set=utf8
        2.在服务器上,修改了配置文件,都要重启数据库服务
        systemctl restart mariadb 

        3.在utf8编码下,配置mariadb
            show create table stu;
            show create database s16;

    8.在远程用 mysql客户端去连接服务端,方式有哪些
        1.navicat
        2.cmd
            mysql  -uroot -p  -h 192.168.15.53
        3. pycharm
        4.pymysql  python
        5.orm  django

    9.配置mysql支持远程连接的sql语句
        授权mariadb远程连接
        #授予root用户对所有的库表所有的权限,在所有的机器上操作,皆可登录
        grant all privileges on *.* to root@'%' identified by 'centos';

        刷新授权表:
        flush privileges;

    10.数据库备份操作
        mysqldump -u root -p --all-databases > /tmp/db.dump
        数据导入,方式有2种
        1.mysql -uroot -p  <  /tmp/db.dump
        2.进入mysql命令行,输入source /tmp/db.dump 

mysql主从同步技术
    1.环境准备,准备2台机器,一个master 一个slave
        192.168.15.53  主库
        192.168.15.94  从库

    2.配置主库的环境
        1.修改主库的配置文件,开启binlog功能
            vim /etc/my.cnf
            [mysqld]
            server-id=1
            log-bin=s16-mysql-bin

        2.重启数据库
        systemctl restart mariadb
    3.创建用于数据同步的账号
    create user 'banzhang'@'%' identified by 'bz666';

    4.授予这个账号,一个slave的身份标识
    grant replication slave on *.* to 'banzhang'@'%';

    5.锁表
    flush table with read lock

    6.数据库信息导出
    mysqldump -uroot -p >  --all-databases   /opt/db.dump  

在mariadb从库的操作
    1.阿里云的源,和官方源,同一安装软件包名如下
    yum install mariadb-server mariadb -y  

    2.配置从库的配置文件,开启server-id
    vim /etc/my.cnf
        写入如下操作
        [mysqld]
        server-id=3
        read-only=true

        character-set-server=utf8
        collation-server=utf8_general_ci
        log-error=/var/log/mysqld.log
    3.重启数据库
    systemctl restart mariadb 

    4.在从库,通过一条命令,开启主从同步
    mysql > change master to master_host='192.168.15.53',
    master_user='banzhang',
    master_password='bz666',
    master_log_file='s16-mysql-bin.000001',
    master_log_pos=568;

    5.开启slave同步
    start slave ;

    6.检查主从同步状态
    show slave status\G
    当你检查这2条参数,yes的时候,主从ok

    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes

此时解锁主库!!
此时解锁主库!!
此时解锁主库!!

验证主从同步是否正常 

linux redis学习

1.安装redis的方式
    -yum (删除这个yum安装的redis,我们只用源码编译安装的)
    -rpm
    -源码编译 

2.删除原本的redis
yum remove redis -y  

3.下载redis源码
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
4.解压缩
tar -zxf redis-4.0.10.tar.gz

5.切换redis源码目录
cd redis-4.0.10.tar.gz

6.编译源文件
make
5.编译好后,src/目录下有编译好的redis指令
6.make install 安装到指定目录,

7.默认在/usr/local/bin

8.指定redis的配置文件 启动 redis
redis-6666.conf  内容如下

port 6666       #redis端口
daemonize yes   #后台运行redis
pidfile /data/6666/redis.pid    #pid号码
loglevel notice #日志等级
logfile "/data/6666/redis.log"    #日志文件存放路径
dir /data/6666   #redis数据目录
requirepass haohaio  #redis的密码 

9.指定配置文件启动redis服务端
redis-server redis-6666.conf  

10.检查redis的进程,端口
ps -ef |grep redis
netstat -tunlp |grep redis 

11.登录redis数据库
redis-cli -p 6666
登录后 输入密码才可访问
auth  haohaio 

redis发布订阅:

PUBLISH channel msg
    将信息 message 发送到指定的频道 channel

SUBSCRIBE channel [channel ...]
    订阅频道,可以同时订阅多个频道

UNSUBSCRIBE [channel ...]
    取消订阅指定的频道, 如果不指定频道,则会取消订阅所有频道
PSUBSCRIBE pattern [pattern ...]
    订阅一个或多个符合给定模式的频道,每个模式以 * 作为匹配符,比如 it* 匹配所    有以 it 开头的频道( it.news 、 it.blog 、 it.tweets 等等), news.* 匹配所有    以 news. 开头的频道( news.it 、 news.global.today 等等),诸如此类
PUNSUBSCRIBE [pattern [pattern ...]]
    退订指定的规则, 如果没有参数则会退订所有规则
PUBSUB subcommand [argument [argument ...]]
    查看订阅与发布系统状态
注意:使用发布订阅模式实现的消息队列,当有客户端订阅channel后只能收到后续发布到该频道的消息,之前发送的不会缓存,必须Provider和Consumer同时在线。

redis持久化之RDB持久化
1.rdb持久化,可以手动触发持久化,通过redis的save命令,触发
2.rdb数据文件是压缩过的 二进制文件,认为看不懂,redis通过这个文件恢复数据
3.rdb持久化还有时间策略
save 900    1         # 秒  1个修改类的操作
save 300    10         # 秒  10个操作
save 60     10000       #   秒  10000个操作

4.使用rdb持久化的方式,在配置文件中,打开rdb持久化
cat redis-6666.conf
内容如下
port 6666
daemonize yes
pidfile /data/6666/redis.pid
loglevel notice
logfile "/data/6666/redis.log"
dir /data/6666
dbfilename redis.dump

5.关闭redis服务端,准备重启
redis-cli  -p 6666 -a haohaio  shutdown

6.使用新的支持rdb持久化的配置文件启动
redis-server redis-6666.conf   

7.手动触发rdb持久化
通过save指令

8.让配置文件支持定期持久化
port 6666
daemonize yes
pidfile /data/6666/redis.pid
loglevel notice
logfile "/data/6666/redis.log"
dir /data/6666
dbfilename redis.dump
save 900 1                    #rdb机制 每900秒 有1个修改记录
save 300 10                    #每300秒        10个修改记录
save 60  10000
~                            

redis持久化之aof
1.配置redis支持aof持久化
cat  redis-6666.conf
内容如下
port 6666
daemonize yes
pidfile /data/6666/redis.pid
loglevel notice
logfile "/data/6666/redis.log"
dir /data/6666
appendonly yes
appendfsync everysec

2.指定配置文件启动,支持aof
redis-server redis-6666.conf  在第一次启动的时候,就开启了aof持久化

3.不重启redis,切换rdb数据到aof数据中
    1.准备一个rdb的redis数据库
        port 6666
        daemonize yes
        pidfile /data/6666/redis.pid
        loglevel notice
        logfile "/data/6666/redis.log"
        dir /data/6666
        dbfilename redis.dump
        save 900 1
        save 300 10
        save 60  10000
    2.启动redis支持rdb的数据库

    3.设置redis的数据,手动save触发持久化,生成持久化数据文件

    4.通过命令,切换持久化模式
            127.0.0.1:6379> CONFIG set appendonly yes   #开启AOF功能
            OK
            127.0.0.1:6379> CONFIG SET save ""  #关闭RDB功能
            OK
    5.修改redis的配置文件,改为aof,便于以后重启,完全切换到aof模式
    redis-6666.conf内容如下

    port 6666
    daemonize yes
    pidfile /data/6666/redis.pid
    loglevel notice
    logfile "/data/6666/redis.log"
    dir /data/6666
    appendonly yes
    appendfsync everysec

    6.实验完毕

redis-server   redis.conf  

博客地址:
https://www.cnblogs.com/pyyu/p/9276851.html 博客汇总
https://www.cnblogs.com/pyyu/p/9843950.html  redis 

今日作业:
1.完成linux启动 crm,路飞学城  (优先级最高)
2.完成mysql主从复制技术(为了写在简历上!)
3.linux运行redis步骤,指定密码,更改端口
4.练习redis持久化rdb、aof、发布订阅

一分耕耘 一分收获 

最新文章

  1. WPF入门:XAML
  2. C++学习笔记22:设备
  3. PIC32MZ tutorial -- Hello World
  4. select 练习2
  5. input file美化
  6. JMeter使用技巧
  7. Looksery Cup 2015 B. Looksery Party 暴力
  8. 破解软件系列-PE文件深入浅出之Section Table节表
  9. IPython在Windows 7上的搭建步骤
  10. js 性能优化整理之 缓存变量
  11. java文件处理之压缩,分割
  12. 1.3 selenium IDE录制脚本转换为其他代码格式
  13. 【PHP】Sublime下PHP网站开发指南
  14. maven 自我学习笔记
  15. IIS、nginx、apache只允许域名访问配置
  16. session源码剖析
  17. asp.net core模块学习
  18. HDFS--大数据应用的基石
  19. Java Socket 多线程聊天室
  20. Using Repository Pattern in Entity Framework

热门文章

  1. ACM学习历程—UESTC 1218 Pick The Sticks(动态规划)(2015CCPC D)
  2. Nested loops、Hash join、Sort merge join(三种连接类型原理、使用要点)
  3. Redo Log File(inactive、active)损坏,处理恢复对策
  4. script加载之defer和async
  5. 清理:db上面的过期的binlog,释放磁盘空间。 (转)
  6. 【转】 Pro Android学习笔记(六五):安全和权限(2):权限和自定义权限
  7. Mach系统
  8. CentOS 7 安装以及配置 VNC
  9. ANDROID开发中资源文件和资源ID是如何映射的
  10. SQL标量值函数:小写金额转大写