log文件

如何成为php高手

一个人想着一个人 提交于 2020-03-24 14:19:51
PHP是一门高效的网络编程语言,由于它具有编写灵活、运行快速等优点,迅速成为Web程序员的首选语言。那么怎样才能成为一个优秀的PHP开发者呢?   要成为一名PHP编程高手并不容易,并不像很多人想象的那样,只要能够飞快地编写几条简单的代码去解决一个复杂的问题就是PHP编程高手了,真正的PHP高手还需要考虑更多的其它问题。以下三条准则是一名成熟的PHP程序员在编程中应该首先遵循的准则。   ◆懒惰是金   ◆编写漂亮的代码   ◆追求程序的速度,而不是编程的速度   懒惰是金   做一个懒惰的程序员吗?这个想法太奇怪了!因为这个世界上最忙碌的人可能就是计算机程序员了。但正是因为程序员太忙了,所以才应该在编程时学会偷懒。对于一个程序员来说,懒惰的方法有两种:   其一,大胆使用现成的别人的程序代码,把这些代码融入到你自己的程序或者项目中去。其二是编写一些有用的代码建立一个函数库,在将来编写程序时可以顺手拈来,省去了许多重复的劳动,自然就可以懒惰一点了。这两种偷懒的方法都非常适合PHP程序员了。   首先,PHP是在自由开放的环境中诞生和成长的一门语言。在世界各地,有成千上万的程序员,他们一直在为PHP的完美而不断奋斗,他们也愿意和别人分享自己的聪明才智和自己编写的代码。你每天都可以从一些PHP网站、邮件列表、新闻组发现大量的优秀的程序代码。   这样说

一条update语句的执行过程

别说谁变了你拦得住时间么 提交于 2020-03-24 01:56:28
3 月,跳不动了?>>> 以前有过一篇关于 MySQL查询语句的执行过程 ,这里总结一下update语句的执行过程。由于update涉及到数据的修改,所以,很容易推断,update语句比select语句会更复杂一些。 1,准备 创建一张test表 CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c` int(11) NOT NULL DEFAULT '0' COMMENT '数值', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试表'; 插入三条数据 INSERT INTO `test` (`c`) VALUES (1), (2), (3); 2,测试 加入我要把第一条数据的 c 值 加 1,则 UPDATE `test` SET `c` = `c` + 1 WHERE `id` = 1; 按照我们平常的思路,就是找出这条记录,把它的值改好,保存就OK了。 但我们追究一下细节,由于涉及到修改数据,所以涉及到日志了。 3 操作顺序 3.1 查找记录:执行器先找引 擎取 id=1这一行。ID是主键,引擎直接用树搜索找到这一行。如果id=1这一行所在的数据页本来就在内存中,就直接返回给执行器;否则,需要先从磁盘读入内存

华为云3

跟風遠走 提交于 2020-03-23 09:14:03
[root@room9pc01 ~]# scp -r /var/ftp/local/ 139.9.60.12:/var/ftp/local/ [root@ecs-abc local]# cat /etc/yum.repos.d/local.repo [local] name=local baseurl=file:///var/ftp/local enabled=1 gpgcheck=0 [root@ecs-abc local]# ls mysql-community-client-5.7.17-1.el7.x86_64.rpm mysql-community-common-5.7.17-1.el7.x86_64.rpm mysql-community-devel-5.7.17-1.el7.x86_64.rpm mysql-community-embedded-5.7.17-1.el7.x86_64.rpm mysql-community-embedded-compat-5.7.17-1.el7.x86_64.rpm mysql-community-embedded-devel-5.7.17-1.el7.x86_64.rpm mysql-community-libs-5.7.17-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.17

mysql高可用之MHA+半同步复制

白昼怎懂夜的黑 提交于 2020-03-22 23:43:38
1,MHA概述 MHA目前在mysql高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为mysql高可用性环境下故障切换和主从提升的高可用软件。在mysql故障切换过程中,MHA能做到在0-30秒之内自动完成数据库的故障切换操作,并且在进行故障切换操作的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用,MHA里由两个角色一个是MHA Node(数据节点),另一个是MHA Manager(管理节点)。MHA Manager可以单独部署在一台读立的服务器上管理多个master-slave集群,也可以部署在一台slave节点上。 MHA Node运行在每台mysql服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程中对应用程序完全透明。 在MHA自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度地保证数据的不丢失,但这并不总是可行的。例如,如果主服务器硬件故障或无法通过ssh访问,MHA没法保存二进制日志,只进行故障转移而丢失了最新的数据。使用mysql 5.5的半同步复制

基础 项目部署 上线

旧街凉风 提交于 2020-03-21 19:45:59
项目开发完毕后,需要将代码放到服务器上,这样用户才能访问。接下来我们一步一步来进行一波部署操作。 1. 简单粗暴 项目开发完毕,在部署之前需要再配置文件中将 ALLOWED_HOSTS配置设置为:当前服务器IP或*,如: ALLOWED_HOSTS = ["*",] 示例源码:猛击下载 然后将源码上传至服务器指定目录,如:/data/ ,然后执行命令来运行: 注: 上传命令: scp /Users/wupeiqi/PycharmProjects/oldboy-1.zip root@192.168.10.33:/data/ 解压,进入目录并执行以下命令: python3 mange.py runserver 0.0.0.0:8000   2. uwsgi Django框架运行依赖wsgi(本质提供socket服务端),众多模块实现了wsgi规范,而django框架中默认使用wsigiref模块来实现,他由于性能比较低,所以用于本地开发和测试,而线上部署时需要使用uwsgi来代替。 a. 在服务器上安装uwsgi pip3 install uwsgi 需要先安装:yum install python-devel b. 单文件使用uwsgi 在服务器上编写一个Python文件: def application(env, start_response): start_response(

oracle之备份详解

て烟熏妆下的殇ゞ 提交于 2020-03-20 18:21:51
                     1 .冷备份 (执行冷备份前必须关闭数据库) 物理备份 (备份物理数据库文件)                      2. 热备份 (热备份是当数据库正在运行时进行数据备份的过程。执行热备份的前提是:数据库运行在可归档日志模式。适用于24X7不间断运行的关键应用系统) 冷备份数据库的步骤 (1)关闭数据库; (2)备份所有相关的数据库文件:初始化参数文件、控制文件(可用select name from v$controlfile;列出所有控制文件)、数据文件(可用select name from v$datafile;列出所有数据文件)、Redo日志(可用select member from v$logfile;列出所有redo日志文件)、归档的Redo日志(可用select sequence#,first_time from v$loghist;列出所有归档redo日志文件的顺序号和产生时间)。 冷备份数据库的脚本文件coldbackup.bat 热备份数据库的前提条件:数据库运行在归档模式 Oracle数据库安装默认运行在非归档模式 从非归档模式转换为归档模式( (1)设置数据库自动归档 log_archive_start = true # 设置归档日志文件的目录,该目录必须事先已建立,并有大量可利用的空间 log_archive

percona-xtrabackup实现数据库完全,增量的备份和还原(含一些版本问题与坑)

断了今生、忘了曾经 提交于 2020-03-20 07:24:03
注意:版本变化 xtrabackup版本升级到2.4后,相比之前的2.1有了比较大的变化: innobackupex 功能全部集成到 xtrabackup 里面,只有一个 binary程序,另外为了兼容考虑,innobackupex作为 xtrabackup 的软链接,即xtrabacku现在支持非Innodb表备份,并且 Innobackupex 在下一版本中移除,建议通过xtrabackup替换innobackupex 这里mariadb5.5,为centos7默认版本,更高版有很多版本问题很严重 个人测试数据库版本10以上均无法使用xtrabackup 本次使用数据库5.5版本恢复主机10.4版本可行 首先安装xtrabackup yum install percona-xtrabackup 在EPEL源中 >最新版本下载安装: https://www.percona.com/downloads/XtraBackup/LATEST/ >本次实验使用 2.4 版本 下载地址: https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/ yum install /root/percona-xtrabackup-24-2.4.13-1.el7.x86_64.rpm #用yum解决依赖性 使用方法 :备份 备份

linux下安装rabbitMQ

怎甘沉沦 提交于 2020-03-20 05:06:34
1. 安装 Erlang 安装配置 1.1 yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto (中间有可能要按 y 确认继续) 1.2 mkdir erlang 创建包来解压 tar 包 1.3 放 opt_src.tar 包 1.4 tar -xvf otp_src_20.1.tar.gz 解压 1.5 进入到 cd otp_src_20.1 文件里去 1.6 ./configure --prefix=/opt/erlang (配置安装路径编译代码) 1.7 make && make install (编译和安装) 1.8 cd /opt/erlang/bin 进入到这里 1.9 。./erl 看是否成功 2 操作 rabbitMQ 2.1 放 jar 包 2.2 解压 tar 包 tar -xvf rabbitmq-server-generic-unix-3.6.10.tar -C ./erlang 也解压到erlang里面去 2.3 换个名字 mv rabbitmq_server-3.6.10 rabbitmq 2.4 配置 erlang 和 mq 的环境变量 vi /etc/profile 配置自己的路径 2.5 其中是放 erlang 的路径和 rabbitmq 的路径 2.6

模块与包

☆樱花仙子☆ 提交于 2020-03-19 01:25:40
模块   一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。   其实import加载的模块分为四个通用类别:    1 使用python编写的代码(.py文件)   2 已被编译为共享库或DLL的C或C++扩展   3 包好一组模块的包   4 使用C编写并链接到python解释器的内置模块   引入导入模块的概念   退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python test.py方式去执行,此时test.py被称为脚本script。   随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理。这时我们不仅仅可以把这些文件当做脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用。   导入模块   import   现在有一个spam.py的文件。 #spam.py print('from the spam.py') money=1000 def read1(): print('spam->read1->money',money) def read2(): print('spam->read2 calling read') read1() def change():

Mysql数据库主从复制搭建

為{幸葍}努か 提交于 2020-03-18 18:56:28
Mysql数据库主从复制原理: 主库开启bin-log日志,同时生成IO线程。IO线程负责将用户写入数据库的sql语句记录在二进制日志bin-log,该记录过程可并发进行;生成标识号 server id ;创建主从复制账号。   从库不需要开启bin-log日志,开启主从复制后,从库将产生一个IO线程,从库IO线程监控主库bin-log日志,当bin-log 日志发生变化时,从IO线程将会通过3306端口向主IO线程申请验证,进行数据交换,具体验证信息:1 主库IP和端口号、2 主库的复制账号和密码、3 所要复制的bin-log日志的文件名、4 文件中position具体位置。验证通过后主IO线程将对应的内容复制给从IO线程,该过程可以并发进行。此时从库文件master.info 记录了验证信息和完成数据交换的bin-log日志文件及文件中的位置信息。从库IO线程将内容放在从库中继日志relay-log中。SQL线程启动,查看relay-log ,将其中更新的二进制语句编译解析成sql语句,存储在从库的mysql data 目录中,并在relay-log.info文件中记录sql进程解析relay-log的文件名及位置信息,完成主从复制。 主从备份搭建 试验环境:master: 1922.168.200.151 slave : 192.168.200.129 一、 建立时间同步环境