CentOS下开启mysql远程连接,远程管理数据库

当服务器没有运行php、没装phpmyadmin的时候,远程管理mysql就显得有必要了。因为在CentOS下设置的,所以标题加上了CentOS,以下的命令在debian等系统下应该也OK。 mysql –u root –p mysql # 第1个mysql是执行命令,第2个mysql是系统数据名称 mysql> select Host,User from user; 在mysql控制台执行: grant all privileges on . to ‘root’@‘%’ identified by‘123456’with grant option; # root是用户名,%代表任意主机,’123456’指定的登录密码(这个和本地的root密码可以设置不同的,互不影响) flush privileges;# 重载系统权限 exit; 允许3306端口 iptables –I INPUT –p tcp –m state —state NEW –m tcp —dport 3306–j ACCEPT ...

2014年8月1日 · 1 分钟 · 天边的星星

CentOS 系统 LAMP(Apache+MySQL+PHP) 安装步骤

先来解释一下,什么是 LAMP。正如标题所言,LAMP 实际上就是 Linux、Apache、MySQL、PHP 四个名称的缩写,当然最后一个 “P” 还有其他说法是 Perl 或者 Python。不用多说了,本文讲解的就是 Linux、Apache、MySQL、PHP 这四个东西,所以就这样解释了。 自己很早就在做网站,最初玩的是 ASP,后来主要研究 .Net,也用 .Net 搞过类似的开发。但是自己最主要还是想把网站做起来,于是乎就将主要精力花在了网站运营上了,当然建站就选用了市面上成熟的一些 CMS 或者是博客程序。目前的 CMS 和博客程序实际上都可以融入到一起,因为其内容的表现形式上相当的接近,故选择哪一块来做,完全看自己的特长了。 由于 Linux 和 PHP 的免费,在国外是相当的流行。国内大部分主机都是 Windows 平台,而我学的 ASP 和 .Net 刚好能搭配运行起来。后来由于种种原因,我的网站都移民到了国外,而在国外找一个性价比好的 Windows 主机实在是件难事,不光语言上的阻碍,国外版权意识很好,所以很少有性价比好的 Windows 主机。我不得不转向了 Linux 平台。而且非常流行的 WordPress 吸引了我,故目前主要注意力就集中在 Linux 主机和 PHP 上。虽然自己对 PHP 基本不了解,呵呵。 虽然 Linux 平台上好的组件不止 Apache 一个,例如俄罗斯人开发的 Nginx,还有性能超强的 LiteSpeed 等等,这两者我都用过,前者以高效、资源占用低为特点,据说腾讯网就是基于此运行的,后者是以性能强大著称,同样据说这是 WordPress 官方推荐的用来运行 WordPress 最佳组件。但是呢,各种网上资料表明,虽然 Apache 性能、资源占用不如其他组件,但是 Apache 开发的目标就是以稳定为主。任何一个网站难道不是希望能够稳定运行?所以我还是选择学习 Apache 来作为网站的服务器环境。学会了一个,其他就能够举一反三了。 一般情况下,安装的都是最新的正式版,除非你有特殊需求,要安装指定的版本,本文暂不讨论。从最基础的开始,一点点完成一个可用的 Linux 主机。这里就开始介绍如何在 CentOS 6.0 上安装 LAMP 组件。经过如下语句安装,目前安装到的版本为: ...

2014年8月1日 · 2 分钟 · 天边的星星

使用PHP生成二维码的两种方法(带logo图像)

随着科技的进步,二维码应用领域越来越广泛,今天我给大家分享下如何使用PHP生成二维码,以及如何生成中间带LOGO图像的二维码 **一、利用Google API生成二维码** Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码: urlToEncode=”http://www.jb51.net”; generateQRfromGoogle(urlToEncode); /** * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 * @param string chl 二维码包含的信息,可以是数字、字符、二进制信息、汉字。 不能混合数据类型,数据必须经过UTF-8 URL-encoded * @param intwidhtHeight 生成二维码的尺寸设置 * @param string EC_level 可选纠错级别,QR码支持四个等级纠错,用来恢复丢失的、读错的、模糊的、数据。 * L-默认:可以识别已损失的7%的数据 * M-可以识别已损失15%的数据 * Q-可以识别已损失25%的数据 * H-可以识别已损失30%的数据 * @param intmargin 生成的二维码离图片边框的距离 */ function generateQRfromGoogle(chl,widhtHeight =’150′,EC_level=’L’,margin=’0′) { chl = urlencode(chl); echo ‘widhtHeight.’x’.widhtHeight.’ &cht=qr&chld=’.EC_level.’|’.margin.’&chl=’.chl.'” alt=”QR code” widhtHeight=”‘.widhtHeight.’ ” widhtHeight=”‘.$widhtHeight.'”/>’; } 二、使用PHP二维码生成类库PHP QR Code生成二维码 PHP QR Code是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,查看地址:http://phpqrcode.sourceforge.net/。 下载官网提供的类库后,只需要使用phpqrcode.php就可以生成二维码了,当然您的PHP环境必须开启支持GD2。 phpqrcode.php提供了一个关键的png()方法,其中参数text表示生成二位的的信息文本;参数outfile表示是否输出二维码图片 文件,默认否;参数level表示容错率,也就是有被覆盖的区域还能识别,分别是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%); 参数size表示生成图片大小,默认是3;参数margin表示二维码周围边框空白区域间距值;参数saveandprint表示是否保存二维码并 显示。 ...

2014年7月3日 · 1 分钟 · 天边的星星

wordpress做api接口

我在想在wordpress中如何写一个api接口,请求这个网址,可以获取最新文章列表,一般通常的做法是新建一个php文件,接收几个参数,查询数据库,用json格式返回数据就行了,当然wordpress也可以这样弄,wordpress插件很强大,有没有这样的插件呢,上网找了一下,果然有。 一款叫JSON API的wordpress插件正是我要的功能,并且更全面,它可以返回最新文章,类别,作者,文章详情,就是在wordpress中几乎所有的内容都可以通过它来获取json格式的数据,它甚至可以通过传递json数据实现文章评论、用户注册。 有了这样一款插件,关键是有了这样一个api接口,可以不用费劲自己写api了,但是可以用来做什么呢? 比如我想做个微信公共帐号,用户输入1,返回最新文章列表,根据用户输入返回不同的内容,这就要请求api地址返回json格式的数据。 插件安装地址:http://wordpress.org/plugins/json-api/ 安装好后,使用方法如下(本文只介绍几个常见的,其他的请参加文档): 隐式调用: http://www.example.org/?json=1(返回该站全部json格式数据) http://www.example.org/?p=47&json=1(返回文章id为47的json数据) http://www.example.org/tag/banana/?json=1(返回标签是banana的json数据) 显示调用: http://www.example.org/?json=get_recent_posts(返回最新文章json数据,默认返回很多字段,可以指定) http://www.example.org/?json=get_post&post_id=47(返回id为47的文章json数据) http://www.example.org/?json=get_tag_posts&tag_slug=banana(返回tag标签是banana的json数据) 链接友好型调用: http://www.example.org/api/get_recent_posts/ http://www.example.org/api/get_post/?post_id=47 http://www.example.org/api/get_tag_posts/?tag_slug=banana API返回的json数据如下: 可以看到,返回的内容太多了,也许我们只要最新列表中的标题和链接就够了。 http://www.example.org/api/get_recent_posts/?callback=show_posts_widget&read_more=More&count=3 有很多参数可以选,比如count为返回的文章数目,参考官方文档吧。 (本文为小谈博客原创,转载请注明出处!) 本文链接:http://www.tantengvip.com/2013/12/wordpress-api/

2014年5月23日 · 1 分钟 · 天边的星星

java 网页解析工具包 Jsoup

Jsoup是一个非常好的解析网页的包,用java开发的,提供了类似DOM,CSS选择器的方式来查找和提取文档中的内容。 相关资料如下: 下载地址:[http://jsoup.org/download](http://jsoup.org/download) 中文文档资料:[http://www.open-open.com/jsoup/](http://www.open-open.com/jsoup/) 比较好的文档:[http://www.ostools.net/apidocs/apidoc?api=jsoup-1.6.3](http://www.ostools.net/apidocs/apidoc?api=jsoup-1.6.3) &nbsp; 今天做了一个Jsoup解析网站的项目,使用Jsoup.connect(url).get()连接某网站时偶尔会出现 java.net.SocketTimeoutException:Read timed out异常。 原因是默认的Socket的延时比较短,而有些网站的响应速度比较慢, 所以会发生超时的情况。 解决方法: 链接的时候设定超时时间即可。 doc = Jsoup.connect(url).timeout(5000).get(); 5000表示延时时间设置为5s。 测试代码如下: 1,不设定timeout时: <div class="dp-highlighter bg_java" style="color: #362e2b;"> <div class="bar"> <div class="tools" style="color: silver;"> **[java]** [view plain](http://blog.csdn.net/huangxy10/article/details/8188067#)[copy](http://blog.csdn.net/huangxy10/article/details/8188067#)[print](http://blog.csdn.net/huangxy10/article/details/8188067#)[?](http://blog.csdn.net/huangxy10/article/details/8188067#) <div> </div> </div> </div> - <span style="color: black;"><span class="keyword" style="font-weight: bold; color: blue;">package</span> jsoupTest; </span> - <span style="color: black;"> </span> - <span style="color: black;"><span class="keyword" style="font-weight: bold; color: blue;">import</span> java.io.IOException; </span> - <span style="color: black;"> </span> - <span style="color: black;"><span class="keyword" style="font-weight: bold; color: blue;">import</span> org.jsoup.*; </span> - <span style="color: black;"><span class="keyword" style="font-weight: bold; color: blue;">import</span> org.jsoup.helper.Validate; </span> - <span style="color: black;"><span class="keyword" style="font-weight: bold; color: blue;">import</span> org.jsoup.nodes.Document; </span> - <span style="color: black;"><span class="keyword" style="font-weight: bold; color: blue;">import</span> org.jsoup.nodes.Element; </span> - <span style="color: black;"><span class="keyword" style="font-weight: bold; color: blue;">import</span> org.jsoup.select.Elements; </span> - <span style="color: black;"> </span> - <span style="color: black;"><span class="keyword" style="font-weight: bold; color: blue;">public</span> <span class="keyword" style="font-weight: bold; color: blue;">class</span> JsoupTest { </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: blue;">public</span> <span class="keyword" style="font-weight: bold; color: blue;">static</span> <span class="keyword" style="font-weight: bold; color: blue;">void</span> main(String[] args) <span class="keyword" style="font-weight: bold; color: blue;">throws</span> IOException{ </span> - <span style="color: black;"> String url = <span class="string" style="color: red;">&#8220;http://www.weather.com.cn/weather/101010400.shtml&#8221;</span>; </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: blue;">long</span> start = System.currentTimeMillis(); </span> - <span style="color: black;"> Document doc=<span class="keyword" style="font-weight: bold; color: blue;">null</span>; </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: blue;">try</span>{ </span> - <span style="color: black;"> doc = Jsoup.connect(url).get(); </span> - <span style="color: black;"> } </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: blue;">catch</span>(Exception e){ </span> - <span style="color: black;"> e.printStackTrace(); </span> - <span style="color: black;"> } </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: blue;">finally</span>{ </span> - <span style="color: black;"> System.out.println(<span class="string" style="color: red;">&#8220;Time is:&#8221;</span>+(System.currentTimeMillis()-start) + <span class="string" style="color: red;">&#8220;ms&#8221;</span>); </span> - <span style="color: black;"> } </span> - <span style="color: black;"> Elements elem = doc.getElementsByTag(<span class="string" style="color: red;">&#8220;Title&#8221;</span>); </span> - <span style="color: black;"> System.out.println(<span class="string" style="color: red;">&#8220;Title is:&#8221;</span> +elem.text()); </span> - <span style="color: black;"> } </span> - <span style="color: black;">} </span> </div> **<span style="color: #362e2b;">有时发生超时:</span> <span style="color: #ff0000;">java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) at java.io.BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) at sun.net.www.http.ChunkedInputStream.fastRead(Unknown Source) at sun.net.www.http.ChunkedInputStream.read(Unknown Source) at java.io.FilterInputStream.read(Unknown Source) at sun.net.www.protocol.http.HttpURLConnectionHttpInputStream.read(Unknown Source) at java.util.zip.InflaterInputStream.fill(Unknown Source) at java.util.zip.InflaterInputStream.read(Unknown Source) at java.util.zip.GZIPInputStream.read(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) at java.io.FilterInputStream.read(Unknown Source) at org.jsoup.helper.DataUtil.readToByteBuffer(DataUtil.java:113) at org.jsoup.helper.HttpConnectionResponse.execute(HttpConnection.java:447) at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:393) at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:159) at org.jsoup.helper.HttpConnection.get(HttpConnection.java:148) at jsoupTest.JsoupTest.main(JsoupTest.java:17) Time is:3885ms Exception in thread “main” java.lang.NullPointerException at jsoupTest.JsoupTest.main(JsoupTest.java:25) ...

2014年4月29日 · 4 分钟 · 天边的星星