MySQL备份、迁移及开放远程访问3306端口备忘

今天把数据服务器和业务服务器进行了分离,其中涉及对MySQL开放远程访问的,作出记录如下以供备忘:

假设数据服务器IP地址为192.168.1.101,业务服务器IP地址为192.168.2.51

首先在数据服务器192.168.1.101上安装好MySQL实例,然后使用root访问MySQL并建立好所需要的数据库和用户。

$ mysql -uroot -p
Enter Password:
 
> CREATE DATABASE business_db;
> GRANT ALL PRIVILEGES ON `business_db`.* TO 'business'@'192.168.2.51' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
> FLUSH PRIVILEGES;

继续阅读

树莓派Raspberry Pi用AirPlay播放实现WiFi连无线音响外放

之前有一篇文章介绍了如何使用蓝牙实现手机连接无线音箱外放,在网上搜索相关资料的过程中,我发现了树莓派另外一个强大的功能,那就是可以实现苹果(Apple)的AirPlay播放技术,简单的介绍一下,AirPlay类似于蓝牙音响播放,但是其是建立在WiFi局域网基础上的,在接入有AirPlay播放技术的局域网上,苹果的设备就会显示支持AirPlay。综合AirPlay的优势,我开始在Raspberry Pi(树莓派)上实现相关功能。

同样的,关于树莓派一些好玩的功能国外资料较为丰富,经过查阅后《Raspberry Pi Airplay Tutorial》(原文超级详细)这一篇文章对我帮助较大,具体步骤如下。

继续阅读

树莓派Raspberry Pi用蓝牙(Bluetooth)实现手机连无线音响外放

今天琢磨着如何在树莓派上挖掘出一些新玩意儿,正好上次为了试验iBeacon低功耗蓝牙基站买的一块USB蓝牙接收适配器一直闲在那儿,于是准备依托于蓝牙功能实现一些有意思的功能。

首先想到的是文件共享,蓝牙这货一开始基本功能也是文件共享吧,想到以前智能手机并不普及的年代,我曾经试验过通过拍照蓝牙传输聊天的功能,那时候想如果能通过蓝牙进行文本传输基本上就实现了一个小型聊天室了,好了,扯远了,我手边有部iPhone,据说未越狱的iPhone蓝牙传文件功能一直是短板,不知道为什么苹果要限制其蓝牙功能,折腾了许久文件传输一直未能实现,于是决定转战另外的功能。

我注意到iPhone手机可以任意的连接蓝牙耳机,也就是说可以轻松实现蓝牙的音频传送,同时在Raspberry Pi主板上有个音频输出接口,正好家里有闲置的笔记本USB Mini音箱,于是我决定将树莓派变成蓝牙多媒体播放中心。

继续阅读

使用Ziproxy图像压缩优化功能配合Squid3实现缓存加速

Ziproxy是转发,非缓存,压缩HTTP代理服务器。其可以压缩图像转换到低质量JPEG文件或JPEG 2000和压缩( gzip或) HTML和其他文字样的数据,同时还可以提供 HTML/CSS/JS 的优化,主动的主机名称解析,透明代理等功能。

之前我将Raspberry Pi(树莓派)配置了Squid3缓存代理,然后注意到了Ziproxy这款软件,因为Ziproxy没有缓存功能,所以考虑将Ziproxy和Squid3配合起来实现压缩兼缓存的上网加速功能,首先要考虑将Ziproxy放在Squid3之前还是之后,当然这两种不同的放置方法可能有不同的效果,鉴于部署的便捷性考虑,我将Ziproxy放置在Squid之前,也就是Internet - Ziproxy - Squid3 - Client。假设你已经安装好Squid3并配置好防火墙,接下来我将简单介绍一下Ziproxy的安装部署过程。

继续阅读

Debian系统SquidGuard结合Squid3进行上网行为管理(网页过滤)

之前有一篇文章介绍如何在树莓派(Raspberry Pi)上架构基于Squid3的透明代理。在文章后面讲到了如何利用广告黑名单进行广告过滤,但是这个方法比较局限,特别是没有分类要过滤的网页类型。

我今天要讲解的是利用Squid的一个插件(姑且这么称呼吧,因为这个软件是随Squid启动而启动的)SquidGuard,该软件会在Squid3处理请求的时候检查SquidGuard所管理的网站分类数据库,并根据自定义的规则进行转向(Redirect)拦截。

今天我们实验的平台依旧是树莓派(Raspberry Pi)的Raspbian,首先用apt-get先安装:

sudo apt-get install squidguard

继续阅读

Python利用htpasswd配置mini_httpd的基本认证授权(Authorization Basic)

前面我讲解了如何将树莓派(Raspberry Pi)打造成无线路由,感觉每次通过命令ssh管理显麻烦,于是自己动手编写Web界面,主要是使用Python编写的CGI程序,这里用到了mini_httpd这款轻量的Web服务器,本来想装nginx的,但是想想还是精简一些吧,毕竟资源有限,况且Web管理界面仅我一个人访问。

CGI应用跑起来了,但问题来了,如何实现普通路由的那种打开页面就弹出输入用户名密码的对话框?

这里主要用到HTTP协议的一个知识,那就是HTTP基本认证

继续阅读

Debian完全卸载清理并重新安装MySQL服务器

之前服务器上配置测试用的服务环境,我偷懒顺手用网上现成的脚本进行安装,结果MySQL启动不了,于是我只有老老实实的重新安装MySQL Server,原本以为apt-get --purge这类命令可以很好的帮我解决这个问题,于是我通过下面的命令重新安装:

sudo apt-get --purge remove mysql-server
sudo apt-get install mysql-server

然后再一次的启动MySQL,仍然失败报错,搜索网络依旧是提示重新安装MySQL服务程序,看样子是上面卸载命令不能很好的清理安装残余,最后找到这么一篇文章《MySQL Problems – a complete reinstall》。找到了完全清理卸载干净MySQL的办法,记录在这里供备忘。

继续阅读

解决项目依赖库缺少相关源文件导致无法编译的问题

项目在本机测试正常,准备先部署到测试服务器上供内部测试用,结果在部署设置环境时出现了错误。

主要是在easy_install所用到的Python库时编译出错导致的compilation terminated。经过调试找到了相关的解决方案,记录在这里算是个备忘。

在编译bcrypt时出现的错误:

fatal error: ffi.h: No such file or directory

通过下面的命令安装开发源文件解决:

sudo apt-get install libffi-dev

继续阅读

Debian/树莓派Raspberry Pi加速上网体验之设置Squid3透明代理

上一篇文章介绍了如何通过设置DNS服务器来加速上网体验,今天我要向大家介绍的是如何设置透明代理实现HTTP的缓存,稍后将介绍如何过滤屏蔽相关广告站点。

首先我们已经配置好了无线热点,如果不清楚的话可以参考我前面的文章,配置好的效果是通过无线网卡连接到树莓派,然后流量经过wlan0网卡转到eth0然后出口,也就是说eth0相当于我们路由器的WAN口,而wlan0相当于局域网LAN口,理清这个关系后下面我们继续。

首先要安装squid3,这里可以直接通过下面的命令进行:

apt-get install squid3

继续阅读

Debian/树莓派Raspberry Pi加速上网体验之设置公共DNS查询服务器

之前我有一篇文章将树莓派(Raspberry Pi)设置为无线路由的,试用了一段时间觉得效果不错,但是总觉得树莓512MB内存仅仅作为路由太浪费了,于是我就想能不能将DNS公共查询服务器也架设在上面,这样常用的DNS查询将会缓存到树莓派上,也起到DNS查询加速的作用。

首先我找到了网上的解决方案,在树莓讨论版上《[HOW TO] Use your RPI as a DNS server and speed up yo’ net!》,当然这个解决方案是基于这篇文章的《DNS on Raspberry Pi — Speed up your internet Experience》,使用树莓派最大的好处是有强大的社区支持,基本上你所遇到的问题网上都有相关的解决方案,得益于Debian的丰富的包,一些软件可以直接apt安装,我在这里再简单的阐述一下关于DNS公共查询服务器的设置:

原作者为我们直接打包了命令,所以我们可以直接执行下面的代码:

继续阅读