Mysql5.7 设置utf8mb4字符

参数说明。
character-set-client-handshake
用来控制客户端声明使用字符集和服务端声明使用的字符集在不一致的情况下的兼容性,默认为 true。

character-set-client-handshake = false

# 设置为 False, 在客户端字符集和服务端字符集不同的时候将拒绝连接到服务端执行任何操作

character-set-client-handshake = true

# 设置为 True, 即使客户端字符集和服务端字符集不同, 也允许客户端连接

character-set-server
声明服务端的字符编码, 推荐使用utf8mb4 , 该字符虽然占用空间会比较大, 但是可以兼容 emoji 😈 表情的存储
继续阅读Mysql5.7 设置utf8mb4字符

Centos6升级7

今天来升级一个centos6.X 到 centos7
先添加源

vim /etc/yum.repos.d/upgrade.repo
[upgrade]  
name=upgrade  
baseurl=http://dev.centos.org/centos/6/upg/x86_64/  
enable=1  
gpgcheck=0 

网上的些文章会直接进行升级,遇到报错如下

Assessment finished (time 05:57s)
I/O warning : failed to load external entity "/usr/share/openscap/xsl/security-guide.xsl"
compilation error: file /usr/share/preupgrade/xsl/preup.xsl line 40 element import
xsl:import : unable to load /usr/share/openscap/xsl/security-guide.xsl
I/O warning : failed to load external entity "/usr/share/openscap/xsl/oval-report.xsl"
compilation error: file /usr/share/preupgrade/xsl/preup.xsl line 41 element import
xsl:import : unable to load /usr/share/openscap/xsl/oval-report.xsl
I/O warning : failed to load external entity "/usr/share/openscap/xsl/sce-report.xsl"
compilation error: file /usr/share/preupgrade/xsl/preup.xsl line 42 element import
xsl:import : unable to load /usr/share/openscap/xsl/sce-report.xsl
OpenSCAP Error:: Could not parse XSLT file '/usr/share/preupgrade/xsl/preup.xsl' [oscapxml.c:416]
Unable to open file /root/preupgrade/result.html
Usage: preupg [options]

preupg: error: [Errno 2] No such file or directory: '/root/preupgrade/result.html'

解决方法,先执行下面命令

yum erase openscap
yum install http://dev.centos.org/centos/6/upg/x86_64/Packages/openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm
yum -y install redhat-upgrade-tool preupgrade-assistant-contents

再进行升级。

yum -y install preupgrade-assistant-contents redhat-upgrade-tool preupgrade-assistant 
preupg -l
preupg -s CentOS6_7

这里官方源7最新版本,好像升级不成功,使用官方备份源的旧版本,然后执行升级!

centos-upgrade-tool-cli --network 7 --instrepo=http://vault.centos.org/centos/7.2.1511/os/x86_64/

接下来就是等着了

面试题:一个HTTP请求的过程

我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要浏览的内容。在这个看似简单的用户行为背后,到底隐藏了些什么呢?
对于普通的上网过程,系统其实是这样做的:浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP,然后通过IP地址找到IP对应的服务器后,要求建立TCP连接,等浏览器发送完HTTP Request(请求)包后,服务器接收到请求包之后才开始处理请求包,服务器调用自身服务,返回HTTP Response(响应)包;客户端收到来自服务器的响应后开始渲染这个Response包里的主体(body),等收到全部的内容随后断开与该服务器之间的TCP连接。
继续阅读面试题:一个HTTP请求的过程

linux chmod -R 777 / 之后的修复过程

如果一旦误操作导致linux根目录下面的所有文件改为了777。

那么这时候一定不要重启电脑,找一台新的机器执行

getfacl -R / > acl.bak

然后传到这台机器上再执行

setfacl --restore=acl.bak

如果出故障机器已经重启过了,那可能就麻烦一些。因为帐户认证系统已经损坏了,登录不成功。 继续阅读linux chmod -R 777 / 之后的修复过程

cacti memcache监控自己改造基于php的api数据收集

最近 memcache老是出问题,所以想着把memcache的运行状态监控起来,所以就想着挂到cacti上面.
在网上找了找好多都是基于python的api去获取mc状态的,由于是现成的php环境不想再去搭建python的监控.
所以想着把他memcache.py 改造一下.直接用现在有php去获取数据.
继续阅读cacti memcache监控自己改造基于php的api数据收集

html2pdf centos6 wkhtmltopdf安装

今天介绍一个html2pdf的组件,下面记录下安装过程.
前往管网下载 http://wkhtmltopdf.org/downloads.html
下载stable 的tar.xz包,xz包要用xz命令来打.我服务器上竟然没有安装.

wget http://download.gna.org/wkhtmltopdf/0.12/0.12.3/wkhtmltox-0.12.3_linux-generic-amd64.tar.xz
yum install xz
xz -d wkhtmltox-0.12.3_linux-generic-amd64.tar.xz
tar -xvf wkhtmltox-0.12.3_linux-generic-amd64.tar
cd wkhtmltox/bin/
cp * /user/bin/

注意yum 安装下它的依赖包: zlib, fontconfig, freetype, X11 libs (libX11, libXext, libXrender)
出现了乱码问题,下面来解决一下.
继续阅读html2pdf centos6 wkhtmltopdf安装

解决GitHub API rate limit exceeded 的问题

遇到的报错

Error: GitHub API rate limit exceeded for 61.51.194.55. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)
Try again in 22 minutes 46 seconds, or create a personal access token:
  https://github.com/settings/tokens/new?scopes=&description=Homebrew

解决方法
继续阅读解决GitHub API rate limit exceeded 的问题