存档

文章标签 ‘mysql’

一条语句关闭WordPress所有文章的TrackBack

2009年9月11日 Slyar 1 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

前一段由于大量垃圾评论的骚扰,使我不得不安装了评论算术题插件,这样一来垃圾评论果然少了很多,不过每天依然有一些垃圾,这让我感觉很是奇怪,难道机器人也会自己做算术题了?

查看了一下Akismet拦截的垃圾评论,发现它们都有一个共同点,没有写邮箱。有了这个发现,我就到后台的评论设置里,将"评论作者必须填写姓名和电子邮件"的开关打开,心想这样的话那些垃圾评论应该不会再出现了吧...

可是事与愿违,第二天垃圾评论依然如潮水般涌入,而且依旧没有邮箱地址...暂时解决不了,就不去想了,反正垃圾评论不是很多。

开了这么多评论验证,Akismet就显得不是那么重要了,索性把它禁用了(关闭它可以大大加快评论提交的速度)。不过这样一来,倒让我发现了之前的垃圾评论没有邮箱地址的真正原因。因为关闭了Akismet,那些垃圾评论就出现在了审核列表里,不过它们不是垃圾评论,而是垃圾TrackBack...怪不得没有邮箱地址,怪不得能通过算术题验证,原来是TrackBack...

既然找到了真凶,那就斩草除根吧。先到后台把默认TrackBack开关关掉,然后就是关闭所有文章的TrackBack开关了。对于有400多篇文章的我来说,这可是一项大工程,一个一个修改那就不知道猴年马月了,只能祭出大法宝了 ---- SQL语句

WordPress数据库中的wp_posts表存放的是所有文章的相关信息,而我们用到的是下面这个字段

ping_status - ping状态,枚举enum(’open’,'closed’)值,open指打开pingback功能,closed为关闭。默认值是open。

我们的目的就是批量修改所有文章的"ping_status"字段为"closed"

1、首先进入phpmyadmin,当然,如果你有其他的数据库管理工具也可以。

2、进入后点击"SQL",也就是可以输入SQL语句的地方。

3、修改对应的数据库名称以及数据表前缀(这个看一下就知道了),运行以下语句,提示成功则证明修改已经生效。

UPDATE `数据库名称`.`数据表前缀_posts` SET `ping_status` = 'closed';

这样一来,所有文章的TrackBack就被关闭了,垃圾TrackBack不会再出现了。

分类: WP相关 标签:

一条语句让WordPress所有友情链接在新窗口打开

2009年6月28日 Slyar 7 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

这个问题是Jutoy提的,发觉具有普遍性,于是决定拿出来写一下。

如果你现在已经有很多友情链接而之前都忘记在后台设置"新窗口打开"的话,可以直接通过修改数据库让所有的友情链接一次性加上"_blank"标签。

首先进入phpmyadmin,当然,如果你有其他的数据库管理工具也可以。

进入后点击"SQL",也就是可以输入SQL语句的地方。

修改对应的数据库名称以及数据表前缀(这个看一下就知道了),运行以下语句,提示成功则证明修改已经生效。

UPDATE `数据库名称`.`数据表前缀_links` SET `link_target` = '_blank';
分类: WP相关 标签: , ,

重置Mysql的root用户密码

2009年3月10日 Slyar 6 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

恩,那天用的时候还查了一下命令,想了想还是自己记一下的好。

这个是在Windows系统下重置Mysql的root的密码。

1、首先要停止Mysql服务。打开CMD,键入命令

net stop mysql

默认的mysql服务名就是mysql,如果你修改过服务名,请自行对照修改命令。

2、在CMD中进入mysql的bin目录,例如我的就是 c:\mysql\bin ,键入命令

mysqld-nt --skip-grant-tables

这个命令是用来跳过mysql的权限检查表,如果命令成功就会发现CMD窗口处于停滞状态。

3、重新打开一个CMD窗口,再次进入mysql的bin目录,键入命令

mysql -u root

这时就会以root身份登入mysql了,可以看到命令提示符变为  mysql>

4、修改root密码。依次键入命令

use mysql

update user set password=password("新密码") where user="root";

flush privileges;

exit

其作用分别为 进入mysql库;修改root密码;更新Mysql的权限表;退出。

5、使用Ctrl-Alt-Del调出任务管理器,终止 mysqld-nt.exe 进程。

6、在CMD下使用命令

net start mysql

重新启动Mysql服务。

分类: 网络相关 标签: ,

MySQL之命令行导入大文件

2008年11月10日 Slyar 4 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

随着数据库越来越大,转移起来也出现了问题。用phpmyadmin导入大数据库的时候,服务商会限制数据库的大小,有时候即使服务商没限制,导入的时候也超时......

今天就遇到了这个问题,不过还好可以使用shell......

mysql -uUsername -pPassword DatabaseName <备份文件的路径\slyar.sql

使用上面这条命令就可以无视数据库大小限制导入数据库备份文件啦,当然有导入就有导出,只要把"<"改成">"就可以导出了。

有时候由于数据库字符集的问题会出现ERROR at line : Unknown command '\''.这时只要在最后加上以下命令就可以解决了。

--default-character-set=utf8

mysql -u用户名-p密码 数据库名 < SQL文件路径 --default-character-set=utf8

分类: 数据库相关 标签:

提高远程连接MySQL的速度

2008年10月9日 Slyar 3 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

今天在远程连接朋友的MySQL服务器时,发现速度爆慢,感觉不太对劲。Google查了一下,发现是MySQL默认开启了DNS反向解析,导致连接的时候损失时间,而DNS反向解析只是在我们用域名去访问MySQL数据库时才起作用,一般我们都是使用IP地址去访问MySQL数据库的,因此我们可以通过关闭DNS反向解析来提高远程连接MySQL数据库的速度。

You can disable DNS host lookup by starting mysqld with --skip-name-resolve. In this case you can however only use IP names in the MySQL privilege tables.

我们需要修改的是MySQL\bin目录下的my.cnf,有的人是my.ini,都一样的,找到后打开。

在文件末尾加入以下内容:

[mysqld]
skip-name-resolve

这样就可以禁用DNS反向解析,只不过这样就只能使用IP访问MySQL数据库而不能使用域名访问了,不过影响不大。

现在试试连接速度,瞬间连接。。。

分类: 数据库相关 标签: ,
bnuep:0801010047