设为首页 收藏本站
查看: 1675|回复: 0

[经验分享] mysql缓存 (redis)

[复制链接]

尚未签到

发表于 2018-10-10 06:54:50 | 显示全部楼层 |阅读模式
  Mysq需要注意的地方:
  mysql主从复制 延迟来自于 sql线程(解决:myslq5.7 可设置成多线程并行)
  数据库监控:lepus
  大型数据库的删除(安全快速的方法 一部分一部分删除)(不推荐暴力的删除 DELETE DROP 会造成主从不一致)
  expire_log_days 0 (默认数据库不会删除)
  set global expire_logs_days=7 (设置七天后删除)
  TiDB(分布式)
  数据备份一定要在slave上做 以免加重master的负担
  数据库缓存:redis(nosql的缺点:数据无法持久化因为工作在内存 而且内存容量有限 优点:速度快 但redis可以数据保持 工作在内存 数据会保存在磁盘)
  读写分离:加代理(数据库访问层 proxy)
  nosql数据库可以直接连接一个redis (速度超快)
  但是数据与数据之间是有关系的所以还得连接mysql:
  client(KV) -->redis --(钩子函数)>mysql
  高并发mysql:(肯定要走读写分离)
  client -->中间键(专门开发 做分发 确认客户需求 因为LVS不懂这些 只做转发)-->LVS(开发:等价路由 扩展多个LVS)-->nginx(多个一个LVS对应一个nginx)-->BD(cluster)
  数据库缓存:(redis)
  三台虚拟机:
  dd1:(nginx php)
  查看之前是否安装过:
  rpm -qa | grep php
  rpm -qa | grep httpd
DSC0000.png

  yum install -y nginx-1.8.0-1.el6.ngx.x86_64.rpm
  rpm -ivh php-cli-5.3.3-38.el6.x86_64.rpm php-common-5.3.3-38.el6.x86_64.rpm
  rpm -ivh php-mysql-5.3.3-38.el6.x86_64.rpmphp-pdo-5.3.3-38.el6.x86_64.rpm
  yum install php-5.3.3-38.el6.x86_64.rpm
  cd /etc/php-fpm.d
  vim www.conf (更改用户名用户组 nginx)
  /etc/init.d/php-fpm start
DSC0001.png

  netstat -antlpe | grep php
DSC0002.png

  cd /etc/nginx/conf.d
  vim default.conf (nginx开启php模块)
DSC0003.png

  nginx -t
  nginx (开启nginx)
  netstat -antlpe | grep nginx
DSC0004.png

  cd /usr/share/nginx/html/
  测试:nginx php是否安装成功
DSC0005.png

  dd3:yum install mysql-server -y (版本太低 只适合测试用)
  /etc/init.d/mysqld start
  dd1:scp redis-3.2.5.tar.gz root@172.25.42.11:
  dd2:
  tar zxf redis-3.2.5.tar.gz
  cd redis-3.2.5
  make && make install
  cd utils
  ./install_server.sh
  netstat –antlpe
DSC0006.png

  cd /etc/redis
  vim 6379.conf (绑定监听端口)
  /etc/init.d/redis_6379 restart
  redis-cli
DSC0007.png

  dd1:(php 加载redis模块
DSC0008.png

  yum install unzip -y
  unzip phpredis-master.zip
  yum install php-devel-5.3.3-38.el6.x86_64.rpm
  cd phpredis-master
  phpize (指定模块安装路径)
DSC0009.png

  ./configure
  make && make install
  vim /etc/php.ini (更改时区)
DSC00010.png

  cd /etc/php.d
  cp mysql.ini redis.ini
  vim redis.ini
DSC00011.png


  /etc/init.d/php-fpm>  php -m | grep redis (查看加载模块是否成功)
DSC00012.png

  cp test.php /usr/share/nginx/html/index.php(测试页面)
  vim /usr/share/nginx/html/index.php
DSC00013.png

  scp test.sql 172.25.42.12:(redis) (数据库内容)
  dd3:

  grant select on test.* to redis@'172.25.42.%'>
DSC00014.png

  select * from test
DSC00015.png

  测试:
  页面测试:第一次访问的是数据库 第二此访问的是cache
DSC00016.png

  缺陷:如果更新mysql数据库的内容,cache不会察觉,里面数据内容不会更改, 用户访问的时候,得到的还是缓存里面旧的内容,只能手动删除cache里面的旧的数据 才能重新更新

  update test set name='westos'where>
DSC00017.png DSC00018.png

  redis主从:(备份) redis是单进程的解决办法:跑多个进程 将进程与cpu绑定
  dd3:(不同服务不同端口 为了避免多开虚拟机 就在dd3上面做啦~)
  tar zxf redis-3.2.5.tar.gz
  cd redis-3.2.5
  make && make install (yum install gcc -y)
  cd utils/
  ./install_server.sh
DSC00019.png

  cd /etc/redis/
  vim 6379.conf (slaveof)
DSC00020.png

  /etc/init.d/redis_6379 restart
  测试:redis-cli
  主从切换:(一主多从 一主双从)
  dd1:(不同服务不同端口 为了避免多开虚拟机 就在dd1上面做啦~)
  tar zxf redis-3.2.5.tar.gz
  cd redis-3.2.5
  make && make install (yum install gcc -y)
  cd utils/
  ./install_server.sh
  cd /etc/redis/
  vim 6379.conf (slaveof)
DSC00021.png

  /etc/init.d/redis_6379 restart
DSC00022.png

  cd redis-3.2.5
  cp sentinel.conf  /etc/redis
  vim sentinel.conf
DSC00023.png

DSC00024.png

DSC00025.png

  scp sentinel.conf root@172.25.42.12:/etc/redis/
  scp sentinel.conf root@172.25.42.11:/etc/redis/
  redis-server /etc/redis/sentinel.conf --sentinel (三台都做) (会打开一个新的监控端口)
  查看:redis-cli -p 26379 (26379:监控每一个端口
DSC00026.png

  redis-cli
  127.0.0.1:6379> monitor (master 每一秒都在给slave发包)
DSC00027.png



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-619679-1-1.html 上篇帖子: centos7 安装apache+mysql+php环境 下篇帖子: MySQL设计规范
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表