Mysql 简单架设 (转信)

再见
发信人: wildlily (你是风儿,我是沙), 信区: linux
标 题: Mysql 简单架设
发信站: 交通大学思源BBS (Tue Feb 22 17:41:14 2000), 转信
Introduction & Reference:
Mysql是一套multi thread database, 没有postgres95来的悠久,
不过mailing list 讨论得还蛮热烈的,常在改版.支援许多平台.
一 个 详 细 的document:
http://www.turbolift.com/mysql/toc.html
1. Quick Install:
1. 装gmake( 在 packages 中 有 )
2. 解压
3. 执行./configure
4. gmake
5. gmake install
6. 执行 ./scripts/mysql_install_db
建议用Source自己编 译. 如果用 packages 中的, 会有点小问题,像设定档找
不到等等.... 但升级可用package比较方便.目前有 3.21的alpha和 beta
出现,据mailling list大家的心得是.... 没有3.20 来的快..
如果一切正常,应该会自动启动/usr/local/libexec/mysqld, 所有的client
都装在/usr/local/bin中.执 行 /usr/local/bin/mysqlshow ,若可以看到叫做
"mysql" 的 database
则安装成功.
2. Access Control:
架好後最重要的就是设权限. mysql的权限本身就是一个database, 含有三个
table(user, host,db), 你在use 的 table新增一笔就可以了..像要开给
bmouse@140.113.123.222 所 有 权 限,然後不设密码,就:
$mysql mysql
mysql>insert into user values('140.113.123.222','bmouse',password(''),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql>quit
然後执行 mysqladmin reload
详细的权限列表:
http://www.turbolift.com/mysql/chapter5.html
3. C API:
mysql也有提供 Perl API, 不过我还没学 perl. 所以暂不介绍. 直接给一个
程式来解释比较快:
/* 程式功能: 有个database叫做test,其中有个叫 mydata 的 tabel */
/* 此 程 式 印 出 mydata 的 所 有 fields */
/* */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "mysql.h"
void main(){
MYSQL mysql;
MYSQL_RES *res;
MYSQL_ROW row;
int i=0;
mysql_connect(&mysql,"localhost",NULL,NULL);
mysql_select_db(&mysql,"test");
mysql_query(&mysql,"select * from mydata");
res=mysql_store_result(&mysql);
while(row=mysql_fetch_row(res)){
for(i=0;i<mysql_num_fields(res);i++)
puts(row);
}
}
至於这些函式的详细内容当然就请 RTFM 了. 而 mysql_query() 函 式 类 似 system()
函式,可以执行 SQL query string.
程式编译参数 ( Freebsd 专 用 ):
gcc test.c -o test -I/usr/local/include/mysql -L/usr/local/lib/mysql
-lmysqlclient -lm
4. chinese solution:
一些中文字, 如"许","功"等字. 无法用mysql client来 insert.请用C API, 并且
先处理过再送给mySQL.像你在query string遇 到 '\' 字 元, 就在前面再加入一个
'\'字元,处理好再用mysql_query()函式,就 可以完全使用中文了!!!
5. Join Mailing list:
mail to mdomo@tcx.se
内 文: subscribe mysql
标 题 随 便.

再见就是不见的意思.