saber 酱的抱枕

Fly me to the moon

10/14
2022
软件

修改WordPress的用户角色


本站长期以来把新注册用户的角色设置为“贡献者”,这样他们可以提交投稿。结果天天都会收到一些垃圾投稿。
翻看了一些投稿之后,我大开眼界,它们的语言五花八门,包括英语、俄语、法语、德语、西班牙语、波兰语、保加利亚语、印尼语……
内容包括:成人网站广告、线上赌球广告、互联网赌场广告、商业软件广告、购物网站广告、清洁用品广告、空调广告、印刷业务广告、松露广告、手提包广告、貂皮大衣广告、运动鞋广告、旅游景点广告、社交媒体广告、贷款广告、克服暴饮暴食的健康生活指南等等。
我想把贡献者用户都改为订阅者,这样他们就不能投稿了。但是现在已经有三万多个贡献者用户,在网站后台不能一次性修改他们的角色,所以只能去改数据库了。

Read More →

修改WordPress的用户角色

07/7
2017
学习 软件

使用MySQL命令行恢复phpMyAdmin导出的sql文件

数据库的备份与恢复是个常见的问题,但是不同备份工具备份出来的.sql文件内容与格式不尽相同。

对于phpMyAdmin导出的sql文件,似乎用phpMyAdmin恢复比较容易。但我用其他一些MySQL数据库管理工具经常无法恢复成功(如使用Navicat for MySQL、HeidiSQL运行转储的sql文件,没有任何效果)。今天我试了下用MySQL命令行恢复phpMyAdmin导出的sql文件,感觉比较好使,记录一下。

恢复之前先手动创建一个空的数据库,编码和排序方式按需要选择。比如dedecms和WordPress默认的都是utf8_general_ci。

之后运行MySQL命令行,输入密码开始使用。

之后依次输入命令(按需要修改):

use databasename;
set names utf8;
source d:\desktop\simple.sql;

如下:

 database mysql phpmyadmin sql 恢复 数据库

记得输入分号,否则第二个命令会跑偏。

输入第三条之后就开始恢复了,等到执行完毕就ok了。

其实前两条命令,有些工具导出的sql文件里已经有了,有的没有(phpMyAdmin导出的就没有,这应该也是直接运行它备份的sql文件时无法恢复数据的原因)。所以有些工具备份的sql文件可能比较容易恢复,有的就要手动输入命令了。

使用MySQL命令行恢复phpMyAdmin导出的sql文件

06/24
2017
软件

mysql首次安装却需要输入current password的问题

current password mysql 数据库

如果你以前在操作系统上安装过MySQL,那么当你重新安装MySQL时,会要求你先输入旧的密码(current password),才能设定新密码。

但是我刚才在一个新系统上安装MySQL,却也提示我输入current password。一开始我不知道这是什么鬼,随便填了个“root”,结果MySQL安装失败,报错:

Unable to update security settings. Access denied for user 'root'@'localhost' (using password: YES)

百度后发现这个问题在于current password密码不对,可是这个系统上以前根本没有安装过MySQL,怎么会要求输入current password呢?

后来我仔细思索,发现了问题所在。MySQL安装时会让我们选择数据库存放目录,当时我在D盘新建了个“database”文件夹,然后在安装路径里填入这个文件夹。MySQL当时就出现黄色感叹号,提醒:文件夹已存在。

当时觉得没什么,后来一想果然是这个原因。如果数据库目录是个已存在的目录(即使是空的),MySQL也认为以前安装过,就要求输入current password。

那么解决办法呢,有两种方式:
1.删除database文件夹,然后重新安装MySQL,让它自己去建立这个文件夹。
2.current password留空,不填即可。

mysql首次安装却需要输入current password的问题

02/16
2017
学习

用PHP做一个设置网站副标题的接口

用PHP做一个设置网站副标题的接口 WordPress php 副标题 JavaScript aja mysql 数据库

WordPress设置网站副标题需要到后台的设置项里设置,操作起来太繁琐,于是我用php做了个设置网站副标题的接口。这个没什么技术含量,主要是熟悉下php对mysql数据库的基本操作流程。

首先是到数据库里找到网站副标题的字段:

用PHP做一个设置网站副标题的接口 WordPress php 副标题 JavaScript aja mysql 数据库

找到之后写出用于修改它的sql语句,如下:

UPDATE wp_options SET option_value = '大好き' WHERE option_name = 'blogdescription'

接下来做一个html文件和一个php文件,用html文件给php文件发送要设置的副标题,php接到请求后执行数据库操作。

功能做好之后,把html传到网站上,并保存成书签。以后想修改修改副标题只要打开这个书签,输入文字就可以了。
Read More →

用PHP做一个设置网站副标题的接口

12/22
2016
学习

dedecms织梦修改文章标题长度

dedecms里默认的文章标题长度是60,如果添加文章时标题长度超出60,就会被截断,影响恶劣。

假设我要修改dedecms的文章标题长度为200,那么需要两个步骤:

1.到“系统设置”→“系统基本参数”→“其它选项”,修改“文档标题最大长度”选项为200。

2.到“系统设置”→“SQL命令行工具”中执行下面Sql语句:

alter table #@__archives change title title varchar(200)

这样就OK了。

需要注意的是,dedecms里设置的这个长度并不是按字数,而是按PHP里的字节数。在PHP中,GBK系列编码里的一个中文占据2个字节的长度;UTF-8编码里的一个中文占据3个字节的长度。英文字符则始终是一个长度。

dedecms织梦修改文章标题长度

11/23
2016
学习

dedecms如何在数据库复制文章

dedecms如何在数据库复制文章

昨天我准备把一个网站做个demo,先在dedecms的后台里添加了一篇文章,之后我想把它复制多次,可是dedecms没有复制文章的功能。于是我从数据库里操作,最后搞明白了。

dedecms关于文章的信息储存在三个表里:

dede_addonarticle:主要存储文章正文;
dede_archives:储存文章诸多次要信息,如标题、简介、flag等。
dede_arctiny:储存的信息较少,添加文章时dedecms会从这个表里判断哪些文章id被用过了。

虽然大佬们可能用sql语句来复制数据,不过作为主键的文章id(aid字段)不能重复,栏目id(typeid)也有好几个,所以我这弱鸡还是用可视化工具操作的。

下面以Navicat for MySQL为例讲解一下具体的操作。
Read More →

dedecms如何在数据库复制文章

11/22
2016
学习

安装phpMyAdmin

安装phpMyAdmin

由于我装的wampserver环境没有带phpMyAdmin,所以我自己撞了下,记录下过程。

1.到官网或其他下载站下载phpMyAdmin的安装文件。

2.解压后,将解压出来的文件夹改名为“phpmyadmin”,以便访问。

3.将phpmyadmin文件夹放到web环境里,如我在本地,就放到127.0.0.1里。

4.将phpmyadmin文件夹里的config.sample.inc.php 更名为 config.inc.php。

5.编辑并保存config.inc.php:

修改 $cfg['Servers'][$i]['controluser'] 把前面的 //去掉,在后面写上数据库名字 如 'root'
$cfg['Servers'][$i]['controlpass'] 把前面的// 去掉,在后面写上数据库密码,如'123'
修改$cfg['blowfish_secret'] = '' 在后面'' 里面随便填上几个数字 '456'

做完之后,在浏览器中访问phpMyAdmin就OK了~

ps:本文是数据库相关,可巧的是我刚才在数据库里执行sql语句替换东西替换错了←_←

我先写了这篇文章,然后数据库替换出错了,又用今天早上的备份恢复了一下,所以这篇文章是第二次写的了→_→

安装phpMyAdmin

03/4
2016
学习

dedecms后台批量替换网站文字

一个 dedecms后台的网站,现在要把网站所有文章里的某些文字替换,我们可以到后台的“数据库内容替换”里,选择以下几个地方替换即可。

更新:还是写个 SQL 吧,更方便一些;

/* 替换文章正文 */
UPDATE `dede_addonarticle` SET `body`=replace(body,'old','new');
/* 替换文章标题 */
UPDATE `dede_archives` SET `title`=replace(title,'old','new');
/* 替换文章简介 */
UPDATE `dede_archives` SET `description`=replace(`description`,'old','new');
/* 替换栏目内容 */
UPDATE `dede_arctype` SET `content`=replace(content,'old','new');

1.dede_addonarticle表中的body字段,这是文章的正文。


Read More →

dedecms后台批量替换网站文字