以下步骤均在数据库open状态下由system鼡户完成
join一次I/O读写需要的连续数据空间。这样当此参数大于临时段的next扩展块时hash join操作会中断。如果预知联接表的规模比较巨大可使用alter
先將建库工具缺省设定的若干个回滚段删除
根据实际需要创建回滚段(如r01-r10),供联机处理和批处理使用
mysql在***过程中产生/etc/init.d/mysql设置各/etc/rc.d对它的符號连接,这样mysql的启动关闭可以让操作系统自动完成
第一次进入mysql,没有任何验证
选择数据库mysql,即mysql的系统数据库:
操作数据字典重新设置root用户口令:
在数据库mysql中,db,user和host构成了最基本的数据字典主要功能为检查数据库连接的有效性。
建立普通用户dbuser赋予权限:
重载mysql系统信息:
从此以后,对root用户的验证已经建立起来这样使用mysqladmin的操作必须加上口令验证:
也可以将sql语句写成一个脚本,重定向到mysql中去:
首先定义数據库连接的数据结构mysql以及衍生的连接句柄sock(参见dbcom.h):
为了简化编程将本连接的res(资源句柄),row(域指针数组)和sql(sql语句缓冲区)也一起萣义好:
如果是本机则host为NULL。
指insert,update,delete语句执行以后它们只是返回错误值,因此可以用统一的形式完成
指select语句,为简化编程这里分两种情況:根据unique约束的select和根据一般条件的select,前者可以写得更简洁一些笔者把前者称之为“选取”,后者为“游标”
如果已经选完,跳出循环;
根据文档判断mysql函数调用是否错误
有些函数的返回值可能代表正确也可能代表错误,此时必须进行错误判断如mysql_fetch_row取完最后一条记录后返回嘚是NULL,而出错也返回NULL前者为正常情况。
注意mysql错误码处理与其它数据库的不同如mysql_fetch_row,取完记录并不产生“记录已取完”的错误信息而是產生“成功”信息。