Mysql


11
二 12

mysql导入命令

cmd 运行DOS
cd到mysql安装目录下的bin目录
运行 mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:\wcnc_db.sql

搞定


15
一 11

LNMP下 忘记MYSQL密码,修改方法

使用phpmyadmin修改密码,不小心把密码弄丢了,导致mysql不能正常访问

GOOGLE上查询找不到lnmp 下的解决方法,所有自己摸索了下

整理步骤如下

killall -TERM mysqld
/etc/init.d/mysql start –skip-grant-tables
cd /usr/local/mysql/bin
./mysql -u root -p

此时会提示你输入密码,但是直接回车即可。
然后出现mysql > 的提示符
之后输入:

use mysql;
UPDATE user SET password=PASSWORD(‘root’) WHERE user=’root’;

exit;

此时mysql的root密码就被改为:root
记得重新启动mysql

/etc/init.d/mysql restart

exit;


15
一 11

mysql 常用批处理命令收集(不断更新)

1 ,修改cat_id表为一个1-20的随机整数

rand():返回0-1的随机数;

ceil(X):返回大于X的最小整数;

语句 :update tablename set cat_id = ceil(20*rand())

2,删除name字段小于5的所有记录

delete from `keywords`  where length(name) <5

3,根据一个特殊字符分割,取前面部分

语句 :select substring_index(‘a,b,c,d’,',’,1) //用逗号作为分割,取第一部分

列子:update ae set content =substring_Index(content,’;',1) where id =1;

4,从新排序ID

//删除原有主键

alter table `keywords` drop `id`;

//添加新主键字段

alter table `keywords` add `id` mediumint( 8 ) not null first;

//设置新主键

alter table `keywords` modify column `id` mediumint( 8 ) not null auto_increment,add primary key(id);

5,批量将字符串中的字符替换成其它

UPDATE `dle_post` SET `short_story` = replace (`short_story`,’<div>’,”)

6,把A表的a,b字段复制到B表的aa,bb字段

insert into b表(aa,bb) select a,b from a

7,删除重复数据方法

create table tmp as select * from keywords group by name
drop table keywords
alter table tmp rename keywords

13
一 11

利用PHPMYADMIN开启mysql远程连接的方法

方法简单,登录PHPMYADMIN

打开mysql 数据库

选择USER表

把默认用户的Host字段的localhost 改成 %

保存,重启mysql ,修改完成

我自己修改的后出现phpmyadmin不能登录的问题,最后我把除了自己的账户,其它LUMP和VPS建立的账户全部删除后,搞定。


13
一 11

mysql 下ID不连续,重新排序方法

mysql数据库表的自增主键id号乱了,需要重新排列。
原理:删除原有的自增id,重新建立新的自增id。
1,删除原有主键:
alter table `table_name` drop `id`;
2,添加新主键字段:
alter table `table_name` add `id` mediumint( 8 ) not null first;
3,设置新主键:
alter table `table_name` modify column `id` mediumint( 8 ) not null auto_increment,add primary key(id);

11
十二 10

新买的美国BurstNET VPS PHP环境配置Kloxo面板安装和Kloxo面板常用配置教程

原VPS装的是LNMP,用着不是很爽nginx老是502报错,所有新买的BurstNET VPS,想尝试下阿帕奇环境。

Kloxo,原来也叫Lxadmin,后来升级改名后叫kloxo,它是一个开源的轻量级VPS控制面板。开源,高效,免费是它的绝对优点。使用Kloxo来管理linux的服务器,不仅能降低linux服务器/VPS的使用费用,而且它让你控制服务器变得更加简单。Kloxo最新的版本是6.0.2083。通过Putty进入到VPS上,下面介绍一下如何安装使用Kloxo。

1、卸载掉不原有环境

如果你的VPS安装的是centos完全版,那么它已经自带有apache等组件,我们要使用kloxo自带的服务器组件,就需要先卸载自带的apache、mysql等。

卸载Mysql

# rpm -qa | grep mysql
# yum remove mysql

卸载Apache

# rpm -qa | grep httpd
# yum remove httpd

卸载PHP

# rpm -qa | grep php
# yum remove php

注意:卸载的时候如果卸载不掉,系统一般会提示包的依赖关系,并且列出依赖的包的名称,先卸载提示依赖的包就可以了。如果实在实在有卸载不掉的包,可以加-nodeps这个参数来卸载,比如卸载php-5.2.6-11,实在卸不掉了,就用:

rpm -e php-5.2.6-11 -nodeps

2、安装Kloxo

wget http://download.lxlabs.com/download/kloxo/production/kloxo-install-master.sh
sh ./kloxo-install-master.sh

海外主机的优势就是下载这海外源的速度非常快,在VPS上的下载速度是7M/S
上面命令将完成Kloxo的安装,安装完后你除了安好Kloxo,同时也基本安好了Apache、Lighttpd、MySQL、Xcache、Bind、Djbdns等一系列服务器软件。

3、小优化

yum install php-mhash
yum install php-mbstring
yum check-update (检查更新)
yum update (更新所有更新)
yum install php-bcmath (比较重要的php组件,默认没安装)
yum clean all (清理安装包)

现在可以关闭退出你的终端,登录到你的Kloxo控制面板了。

https://IP:7777/

http://IP:7778/

说明:

Zend可以在Kloxo后台的PHPConfig里启用,Apache可以从SwichProgram里选择,建议先选择lighttpd和bind然后再选回apache和djbdns,否则你会看到内存占用量很高。新手建议用Apache,99%能正常支持.htaccess的rewrite规则。

汉化:

安装kloxo中文语言包教程
1.使用ssh登陆您的VPS
2.进入lang目录:

$ cd /usr/local/lxlabs/kloxo/httpdocs/lang

3.下载语言包:

$ wget http://www.65v.net/info/zip/kloxo_cn_pack.zip

4.解压:

$ unzip kloxo_cn_pack.zip
(如果没有安装unzip命令请执行yum -y install unzip进行安装)

5. 访问http://你的IP:7778/ 进行lxadmin语言设置
在Appearance->Language里选择Chinese,然后点击update确认

下面是简单教程:

kloxo怎么添加域名/怎么开网站

请看下图,登录kloxo后台,点击左边“高级”  下面的 “域名” 链接,这时候,会提示需要您创建一个“dns模板”,先创建dns模板(点击看教程)

kloxo_add_domain.png

kloxo_add_domain.png

kloxo增加了域名,怎么不能访问?这是因为需要重新启动web服务。 有时候网站打不开,也可以尝试重启web服务。

重启web服务方法

登录kloxo后台=》左边:服务器linux =》 服务=》 apache 蓝色的圆点,第2个是停止,第1个是启动。(如下图阴影处)

先点停止,等10秒,再点启动
kloxo_restart_apache.png
kloxo_restart_apache.png

如果您是lighttpd的web软件,那么就重启lighttpd那一行。

Kloxo关闭日志和网站统计,减少空间占用,避免vps无法正常工作

早上一来碰到一个客户反映空间不够了,他说我使用的 www 空间, 其实是很少的,但50G空间都快满了:

Filesystem Size Used Avail Use% Mounted on
/dev/simfs 50G 47G 3.1G 94% /

官方说法:

Every day, if the log file’s size is larger than 50MB, they are moved into the client’s home directory. If you set the remove_processed_logs as true, then instead of moving, they will be deleted. Your main statistics calculation will not be affected at all.

在Kloxo/Lxadmin里添加了一个域名,默认的是打开了网站统计.建议在添加域名时就关闭这个功能。如果没有关闭统计并且流量很大,用不了多久硬盘就会被统计文件撑爆。如果你的MySQL不能正常启动,很有可能是这个原因。可以在下图所示位置关掉统计

为避免这样的情况发生,请作以下设置:

ssh登录vps,删除已有的统计文件
输入命令:
rm -f /home/admin/__processed_stats/*

如果硬盘已经占满并且数据库不能启动,lxadmin不能打开,可以用SSH登录到系统执行删除操作,命令:
rm -f /home/admin/__processed_stats/*
删除之后启动MySQL,命令:
service mysqld start

避免以后还生成较多日志,建议每个域名都做以下设置:

kloxo_del_logo.png
kloxo_del_logo.png

一个客户的处理过程:

客户反映kloxo无法进入后台,而且网站全部打不开。以查询,能ping,能ssh。重启了kloxo也不行。奇怪。于是 df一看,空间满了。如下处理方式:

[root@www.ctohome.com __processed_stats]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/simfs             20G   20G     0 100% /
[root@www.ctohome.com __processed_stats]# pwd
/home/admin/__processed_stats
[root@www.ctohome.com __processed_stats]# du -m -s .
19426   . 日志占用了19G
[root@vps76 __processed_stats]# rm -f /home/admin/__processed_stats/*

重新启动kloxo

service kloxo restart


3
十二 10

php 写入mysql 不报错,不入库的解决方法

这几天写个采集程序,才学PHP不久,一个PHP入库问题困扰了我很久,明明采集对象有60篇,入库却少了几篇,而且中间不报错,

后来在网上搜索,解决了问题~ 现在把经验共享一下,

我所遇到的问题有两种不报错,也不入库的,

第一种是mysql字段字符限制的太死,可能你采集的数据超过了这个访问,它自然不入库了,解决方法就是增大字段字符限制,或者直接改成TEXT

第二种是语言编码问题

如果你的数据库和网页都是utf-8 那你打开数据库后,加上下面这段话,限制编码

mysql_query(“set names ‘utf8′”);

//注意是utf8,不是utf-8,我就是这点小差异,弄的不能入库

同时将你要入库的数据镜像UTF-8转码,函数是:

$con=iconv(”原来的编码“,”utf-8″,$con);

就是这样,如果你的问题还没解决,那就到你入库代码后面加上

echo mysql_error();

来查看出错的原因,从中找到,

PHP要在摸索中成长


27
十一 10

PHP执行字符串或数据库中PHP代码片段的函数

一直习惯使用搜索引擎来学习PHP,但今天我找这个函数用了很多关键词都没找到我想要的方法

像“PHP运行字符串中的PHP语句”“PHP执行文本中的PHP代码”都试过,并没有找到我想要的东西

最后在某论坛上才看到,看来搜索引擎对稀缺的东西,还是不够强悍,也可能是这个函数使用的频率太小

eval()函数的作用是:返回与PHP代码相对应的字符串。

我的实列:

<?php

$str=”aaabbbcccddd”;

$rep=’$str=str_replace(“bbb”,”ccc”,$str);’;

eval(“$rep”);

print $str;
?>


19
九 10

利用PHPmyadmin替换数据中的部分数据

命令格式:UPDATE `dle_post` SET `short_story` = replace (`short_story`,’<div>’,”)

例子:UPDATE `dle_post` SET `short_story` = replace (`short_story`,’<div>’,”)

意思是把表short_story中出现“<div>”部分,替换成空


5
八 10

WordPress永久链接自己定义结构的相关说明

WordPress默认的文章链接结构为 域名/?p=文章编号 ,如

http://19-80.com/?p=123

。这种链接结构的好处是查询速度快,对服务器没有什么特别的要求。缺点是没有可读性,很难让人理解它的意思,对搜索引擎来说也是一样不友好的。今天就来说说如何个性化你的文章链接(又叫固定链接或永久链接)。

怎样设置固定链接

进入wordpress后台控制板,通过 设置 -> 固定链接

在页面右边的固定链接设置下的“常规设置”里,我们可以看到选择的是“默认”形式

http://19-80.com/?p=123

,同时还有其它几项可选形式:

  • 日期和文章名
  • 月份和文章名
  • 数字
  • 自定义结构

这些结构的可读性都是不错的,也是搜索引擎容易搜索到的。不过要想使用这些链接结构,需要网站的服务器支持mod_rewrite模式。以下几种方式可以实现这种自定义格式:

  • 打开mod_rewrite模式的apach服务器
  • IIS 7 以上版本, 扩展了URL Rewrite 1.1以上版本, 并且 PHP 5 以 FastCGI 运行
  • IIS 6 以上版本, 使用 404处理技术 或者 Mod-Rewrite Pro 技术
  • 使用Lighttpd,利用 404处理技术 、 mod_rewrite 或者 mod_magnet (可以参看 External sources)

如果你使用的网站服务器支持URLRewrite,选择一种你自己喜欢的链接格式,我比较推荐以 “日期和文章名”或者“月份和文章名”这种格式,也可以选择“自定义结构”。

当你选择了其中一种格式后,在页面的最下方会生成一段mod_rewrite规则

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

 

 你需要把这段规则加入到.htaccess文件中。如果在你网站目录下已经有.htaccess文件,把这段规则复制进去就行了。如果没有.thaccess文件,你可以新建一个文本文档,把这段规则复制到文本文件中,然后上传到你的网站根目录下并重命名为.htaccess。或者你可以从这里直接下载,然后上传到你网站的根目录下。

自定义链接结构

如果你选择了“自定义结构”,在旁边的文本框中输入你想要的格式,下面是一些可用的指令:

  • %year% —— 文章发表年份,比如2009
  • %monthnum% —— 文章发表月份,比如09
  • %day% —— 文章发表日期,如28
  • %hour% —— 文章发表时间(小时),比如18
  • %minute% —— 文章发表时间(分钟),比如56
  • %second% —— 文章发表时间(秒),比如 38
  • %postname% —— 文章标题,中文显示是标题别名
  • %post_id% —— 文章编号,这个编号是唯一的,自动生成的
  • %category% —— 文章分类,中文显示分类别名
  • %tag% —— 标签名
  • %author% —— 作者

现在举个例子,比如我想用 域名/年份/月份/文章名.html  这样的格式,你可以这样写:

%year%/%monthnum%/%postname%.html

你也许想使用这样的格式:域名/文章分类名/文章名.html, 可以这样写:

%category%/%postname%.html

但是wordpress官方网站上已经明确说明不推荐使用以%category%、%tag%、%postname%开头,这是考虑到网站的性能原因,如果你网站的文章数量比较多,如果采用这种格式,将极大的降低网站的性能,显示文章的速度会很慢。推荐以数字开头的形式,以%year%、%post_id%等数字开头是一个不错的选择。

好了,最后点击那个“保存更改”,你的设置就成功了。

友情提示:最好在你的网站提交到搜索引擎之前就确定好固定链接的格式,如果以后更换链接格式,搜索引擎里会有你的很多无效链接。比如google或百度,你可以输入site:你的域名,来查看你的网站在google收录的情况,并可以查看有没有无效链接。