protobuf 语法简介

2014-8-13 杜世伟 Php

1.基本语义

在.proto文件中,最基本的数据类型为message,如其定义所示,由message引导,之后是message类型的名字,之后是由{}包含的各个域(fields)。

required string name = 1; 域字义的一个例子。

required 表示这个域是必需的

optional 该域选,出现0次或1次

repeated 重复出现,0次或多次

阅读全文>>

标签: PHP protobuf

评论(0) 浏览(5062)

Nginx Location配置总结

2014-8-10 杜世伟 Nginx

语法规则: location [=|~|~*|^~] /uri/ { … }

= 开头表示精确匹配

^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。

~ 开头表示区分大小写的正则匹配

~*  开头表示不区分大小写的正则匹配

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则

/ 通用匹配,任何请求都会匹配到。

多个location配置的情况下匹配顺序为(参考资料而来,还未实际验证,试试就知道了,不必拘泥,仅供参考):

首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

阅读全文>>

标签: nginx location rewrite

评论(0) 浏览(19252)

mysql 忘记的数据库密码

2014-8-6 杜世伟 Mysql

mysql 忘记的数据库密码

mysql -uroot -p

Enter password:

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)

root 密码可以丢失或者忘记了。
解决思路:目前是进入不了数据库的情况,所以我们要考虑是不是可以跳过权限。因为在数据库中,MySQL 数据库中 user 表记录着我们用户的信息。
解决方法:启动 MySQL 数据库的过程中,可以这样执行:
/usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf  –skip-grant-tables &
这样启动,就可以不用输入密码,直接进入 MySQL 数据库了。然后在修改你自己想要改的 root 密码即可。
update mysql.user set password=password(‘04d20fb9c38c9′) where user=’root’

标签: linux mysql

评论(0) 浏览(6795)

Powered by emlog 沪ICP备2023034538号-1