-
这是截取自McGraw-Hill 出版社子公司Oracle Press出版社出版的April Wells编写的《Everyday Oracle DBA》copyright 2006第五章的部分内容。点击这里阅读全文。
每当我听到“数据库当掉了”的话时,我都会想起1978年的电影《Gray Lady Down》中的情节,核潜艇海王星号在击中了一艘货船之后沉没了,人们只有48小时营救船员。每当这些时候,我的脑袋里面都会听到与核潜艇有关的声音,就好像是背景音乐一样,一种恐惧感油然而生。好吧,我应该去救人,而不是自己一个人跑开远离炸弹。但是类似的感觉仍然包围着我。
然而,当营救...
-
这段时间在将MudCMS迁移到.net 3.5平台,发现Dlinq对数据库的支持上有一个很大的缺陷,从MSDN上查资料得知,Dlinq目前仅支持SQL2000与SQL2005,不能支持其它任何数据库,那怕是他们自家的Access数据库也不支持。这可是个大麻烦,我还想我的CMS支持ACCESS与MySQL呢。赶紧去System.Data.Linq.dll看看能不能自己写一个数据库适配器。反编译后,认为这种可能不存在。
通过反编译后发现,要想自己自己写一个数据库适配器,得实现以下两个接口,但微软都已经在这两个接口加了internal关键字。
internalinterfaceIReaderPr...
-
本文中我们主要介绍了如何查找运行系统里bad sql,需要大家注意的是我们需要根据自己的实际情况来具体分析。而不应该照搬下面介绍的这些方法。当我们使用这些SQL语句时,会对系统表产生分组操作,当然也增大了系统的负载。希望大家在系统启动了一段时间后,在半夜负载较轻的时间定时(比如:一个月)来仔细查看一下。
查找bad sql的方法:
select*from(selectbuffer_gets,sql_text fromv$sqlarea wherebuffer_gets500000 orderbybuffer_getsdesc)whererownum=30;
执行次数多的SQL
selects...
-
当你链接到应用程序以使用MySQL客户端库时,可能会遇到以mysql_开始的未定义引用错误,如下所示:
/tmp/ccFKsdPa.o: 在函数`main'中:
/tmp/ccFKsdPa.o(.text+0xb): 对`mysql_init'的未定义引用。
/tmp/ccFKsdPa.o(.text+0x31): 对`mysql_real_connect'的未定义引用。
/tmp/ccFKsdPa.o(.text+0x57): 对`mysql_real_connect'的未定义引用。
/tmp/ccFKsdPa.o(.text+0x69): 对`mysql_error'的未定义引用。
/tmp/ccFKsdPa.o(.text+0x9a): 对`mysql_close'的未定义引用。
通过在链接命令后增加“-Ldir_p...
-
如果遇到下述错误,表示当启动mysqld时或重新加载授权表时,在用户表中发现具有非法密码的账户。
发现用户'some_user'@'some_host'密码错误:忽略用户。
作为其结果,许可系统将简单忽略账户。
在下面的介绍中,指明了可能的原因和问题的更正措施:
1.或许,你正打算用旧的用户表运行新版本的mysqld。执行mysqlshow mysql user检查Password(密码)列是否短于16个字符,通过该方式可检查该问题。如果结果是肯定的,可运行脚本/add_long_password脚本更正该问题。
2.账户具有旧的密码(8字符长),而且未使用“--...
-
使用MySQL的命令终端时,如果输入SQL有误,将有beep声。若要关闭该功能,根据mysql --help,使用mysql --no-beep即可。
修改my.ini
在[mysql] 下加入一行
no-beep
最后重新启动MySQL数据库就可以了。
原文:IT专家网
-
MySQL数据库5.0的my.cnf配置选项概述:
mysqld程序--目录和文件
basedir = path 使用给定目录作为根目录(安装目录)。
character-sets-dir = path 给出存放着字符集的目录。
datadir = path 从给定目录读取数据库文件。
pid-file = filename 为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系统); Init-V脚本需要使用这个文件里的进程ID结束mysqld进程。
socket = filename 为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(仅适用于UNIX/Linux系统; 默认设置一般是/var/lib/mysql/my...
-
MySQL有很多可以导入数据的方法,然而这些只是数据传输中的一半,另外的一般是从MySQL数据库中导出数据。有许多的原因我们需要导出数据。一个重要的原因是用于备份数据库。数据的造价常常是昂贵的,需要谨慎处理它们。经常地备份可以帮助防止宝贵数据地丢失;另外一个原因是,也许您希望导出数据来共享。 在这个信息技术不断成长的世界中,共享数据变得越来越常见。
比方说Macmillan USA维护护着一个将要出版的书籍的大型数据库。这个数据库在许多书店之间共享,这样他们就知道哪些书将会很快出版。医院越来越走向采用无纸病历记录...
-
作为MySQL管理员,一个普通的目标就是确保服务器尽可能地处于运行状态,使得客户机能够随时访问它。但是,有时最好关闭服务器(例如,如果正在进行数据库的重定位,不希望服务器在该数据库中更新表)。保持服务器运行和偶尔关闭它的需求关系不是本文所解决的。但是我们至少可以讨论如何使服务器启动和停止,以便您具备进行这两个操作的能力。
本章的说明只用于UNIX 系统。
调用本章给出的命令
为了简洁,在大多数情况中,诸如mysqla d m i n、mysqldump 等程序在本章中没有给出任何- h、- u或- p选项。笔者假定您将会用连...
-
从MySQL 5.0 开始,支持了一个全新的SQL句法:
PREPAREstmt_nameFROMpreparable_stmt; EXECUTEstmt_name[USING@var_name[,@var_name]...]{DEALLOCATE|DROP}PREPAREstmt_name;
通过它,我们就可以实现类似 MS SQL 的 sp_executesql 执行动态SQL语句。
同时也可以防止注入式攻击。
为了有一个感性的认识,下面先给几个小例子:
mysqlPREPAREstmt1FROM'SELECTSQRT(POW(?,2)+POW(?,2))AShypotenuse'; mysqlSET@a=3; mysqlSET@b=4; mysqlEXECUTEstmt1USING@a,@b; +------------+ |hypotenuse...