大约1月前 -
PHPCMS系统的content_tag表文件损坏,尝试分析、修复未果。
该表用于记录文章关键字,不是很重要,于是将其它删除,然后从install\main中的SQL文件中找到该表的创建部份,重新创建该表。
DROP TABLE IF EXISTS `phpcms_content_tag`;
CREATE TABLE `phpcms_content_tag` (
`tag` char(20) NOT NULL,
`contentid` mediumint(8) unsigned NOT NULL default ‘0′,
KEY `contentid` (`contentid`),
KEY `tag` (`tag`(10))
) TYPE=MyISAM;
然后问题出现了,报SQL错误:
MySQL Error : Illegal mix of collations (latin1_swedish_ci,IMPLICIT), (gbk_chinese_ci,COERCIBLE), (gbk_chinese_ci,COERCIBLE) for operation ‘ IN ‘
检查了一下,原来我之前使用的字符集是GBK,对应gbk_chinese_ci整理,现在变成latin1_swedish_ci整理了,与以前GBK编码的表一起联表查询,于是出现了该错误。
将content_tag表修改为GBK字符集、gbk_chinese_ci整理即可。
–EOF–
大约2月前 -
MySQL engine/type类型InnoDB/MYISAM/MERGE/BDB/HEAP的区别
CREATE TABLE 时有多种数据库存储引擎:
TYPE = {BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM }
网上查了下据说MyISAM、InnoDB两种引擎常用
大至区别如下[不知是否准确]:
高级处理:
MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。
执行速度:
MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快。
移值性:
MyISAM类型的二进制数据文件可以在不同操作系统中迁移。也就是可以直接从Windows系统拷贝到linux系统中使用。
-----------------------------
今天找到官方准确解释
· MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。
· InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。
· BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。
· Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
·
大约2月前 -
最近笔者的一台mysql服务器忘记了超级管理员root密码,而mysql修改密码必须得知道旧密码的情况下才能进行,真的很郁闷,找了很多方法都无 效,最终找到了解决方法,拿来分享,希望能给同样遭遇的朋友带来帮助。只要你的服务器操作系统是Windows XP/2000/2003/NT都可以使用这个方法来重新修改mysql超级管理员root的密码。
1、停止mysql服务
开始→运行→输入cmd,打开命令提示符窗口,然后输入net stop mysql,相关截图如下所示:
2、在命令提示符窗口中进入mysql安装目录中的bin目录
在命令提示符窗口中分别输入以下两条命令,每输入一条命令按回车键:
d:
cd www\mysql\bin
3、进入mysql安全模式(这样不用输入密码就能进入mysql数据库)
输入mysqld-nt –skip-grant-tables,此时屏幕上可能没啥反应,不用管它,放在一边接着往下做,相关截图如下所示:
4、重新打开一个cmd命令提示符窗口,开始→运行→输入cmd,在新打开命令提示符窗口中输入mysql -uroot -p,然后提示输入密码,不用输入密码,直接按回车键,相关截图如下所示:
5、输入以下命令开始修改超级管理员root密码(注意:命令中mysql.user中间有个“点”;命令中的htmer.com即为新密码,根据你的实际情况,换成你的新密码即可)
update mysql.user set password=PASSWORD(‘htmer.com’) where User=’root’;
6、刷新权限表,输入如下命令
flush privileges;
7、退出,输入如下命令
quit
8、重新启动mysql服务(也可以直接重启服务器)
①打开任务管理器,将mysql-nt.exe这个进程结束,相关截图如下所示:
②在命令提示符中输入net start mysql即可重新启动mysql服务了,相关截图如下所示:
转载自:http://www.htmer.com/article/567.htm
–EOF–
大约3月前 -
用PHPCMS做的一个站,文章约6万多条,这段时间系统运行爆慢。前台生成的HTML速度正常,后台操作慢得受不了。
登陆服务器看了一下,对应数据库有1.2G大小。
折腾半天发现问题所在,发现其中的 phpcms_ads_stat表大小为659.0 MB,phpcms_search表大小为126.1 MB 。
特别是那个可恶的广告统计表phpcms_ads_stat,竟然占用了1/2以上的空间。将这两个表清空后速度快了很多。
–EOF–
大约5月前 -
MySQL Workbench 是一款数据库设计和建模工具,专门为 MySQL 设计。它的前身是 FabForce 公司的 DB Designer 4。
{dy}个版本 (Alpha 版) 发布于 2005 年 12月14日;[1],版本号为 1.1.10。
MySQL Workbench 有两个版本:MySQL Workbench Community Edition(又叫MySQL Workbench OSS,社区版)和 MySQL Workbench Standard Edition(又叫MySQL Workbench SE,商业版)。MySQL Workbench OSS 是在 GPL 证书下发布的开源社区版本,而 MySQL Workbench SE 则是按年收费的商业版本。
下载地址:http://dev.mysql.com/downloads/workbench/5.1.html
–EOF–
大约7月前 -
这个类是从网上找的,看了一下,貌似也是改自ThinkPHP。
测试发现在错误处理上有点问题,于是自己增加了一个throw_exception函数,用来代替原类中的错误处理。
<?php
/**
* 数据库PDO操作
* 80tvb.com
*/
class MysqlPdo {
public static $PDOStatement = null;
/**
* 数据库的连接参数配置
* @var array
* @access public
*/
public static $config = array();
/**
* 是否使用{yj}连接
* @var bool
大约10月前 -
本来本子上安装了MYSQL,后来帮朋友调试大芒果。
大芒果是使用的APM作为基础环境:apache+php作为WEB注册界面,MYSQL作为服务器数据库。
大芒果自带的MYSQL无法启动,首先想到的是将其数据移到我之前的MYSQL里,折腾几下未成功。
看来先删除之前的数据库吧,于是乎:
先将之前的data文件全备份,然后停止MYSQL服务
进入CMD切换到MYSQL目录: mysqld-nt -remove
添加删除程序里卸载
删除MYSQL目录
删除WINODWS目录下的my.ini文件
xx注册表中的所有名为MYSQL的项(具体哪几个记不得了,反正名字都是叫MYSQL)
大约1年前 -
成天用MYSQL的命令提示行效率太慢了(主要是我对那些命令还不够熟吧-_-)
以下是些常用的MYSQL数据库管理软件,都是图形界面的,操作起来方便多了:
1、phpMyAdmin
提到MYSQL数据库管理软件不得不提到的东东,是用PHP写的B/S结构的MYSQL数据库管理软件。对中文支持良好,对数据库管理也简单方便,不过备份和恢复数据时会比较吃力。
2、Navicat
Navicat是一个桌面版MySQL数据库管理和开发工具。和微软SQLServer的管理器很像,易学易用。Navicat使用图形化的用户界面,可以让用户使用和管理更为轻松。支持中文,有免费版本提供。
3、MySQL-Front
小巧的管理Mysql的应用程序.主要特性包括多文档界面,语法突出,拖拽方式的数据库和表格,可编辑/可增加/删除的域,可编辑/可插入/删除的记录,可显示的成员,可执行的SQL 脚本,提供与外程序接口,保存数据到CSV文件等。 不过该软件是商业软件咯。
大约1年前 -
无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构、充分利用空间是十分必要的。这就要求我们对数据库系统的常用数据类型有充分的认识。下面我就将我的一点心得写出来跟大家分享。
一、数字类型
数字类型按照我的分类方法分为三类:整数类、小数类和数字类。
我所谓的“数字类”,就是指 DECIMAL 和 NUMERIC,它们是同一种类型。它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式保存的;他的值的每一位 (包括小数点) 占一个字节的存储空间,因此这种类型耗费空间比较大。但是它的一个突出的优点是小数的位数固定,在运算中不会“失真”,所以比较适合用于“价格”、“金额 ”这样对精度要求不高但准确度要求非常高的字段。
小数类,即浮点数类型,根据精度的不同,有 FLOAT 和 DOUBLE 两种。它们的优势是xx度,FLOAT 可以表示{jd1}值非常小、小到约 1.17E-38 (0.000…0117,小数点后面有 37 个零) 的小数,而 DOUBLE 更是可以表示{jd1}值小到约 2.22E-308 (0.000…0222,小数点后面有 307 个零) 的小数。FLOAT 类型和 DOUBLE 类型占用存储空间分别是 4 字节和 8 字节。如果需要用到小数的字段,精度要求不高的,当然用 FLOAT 了。可是说句实在话,我们“民用”的数据,哪有要求精度那么高的呢?这两种类型至今我没有用过――我还没有遇到适合于使用它们的事例。
用的最多的,最值得精打细算的,是整数类型。从只占一个字节存储空间的 TINYINT 到占 8 个字节的 BIGINT,挑选一个“够用”并且占用存储空间最小的类型是设计数据库时应该考虑的。TINYINT、SMALLINT、MEDIUMINT、INT 和 BIGINT 占用存储空间分别为 1 字节、2 字节、3 字节、4 字节和 8 字节,就无符号的整数而言,这些类型能表示的{zd0}整数分别为 255、65535、16777215、4294967295 和 18446744073709551615。如果用来保存用户的年龄 (举例来说,数据库中保存年龄是不可取的),用 TINYINT 就够了;九城的《纵横》里,各项技能值,用 SMALLINT