??xml version="1.0" encoding="utf-8" standalone="yes"?> 1.安装前提C? 2.安装方式: 3.安装前注?
3).然后介质解压出来?br> 4.开始安装:
3).选择"Install Products"q入安装面 11). 然后q入"Set up a DB2 instance"面Q这里可以新Z个DB2实例(32?64?、扩展一个实例或者不做操作,一般是扩展一个现有实例,如果是新装DWEQ不是单独装Cube View的话Q这一步已l包含在了DWE的安装中了,如图Q?br>
13).{待安装完成Q点?Finish"l束安装?nbsp; 5.安装补丁E序: 6.在DWE Studio中初始化DB2 Olap对象Q?br> 启动DWE StudioQ找?数据库资源管理器"视图Q徏?打开刚才安装Cube View的数据库Q打开"模式"文g夹,随便点开一个模式,扑ֈ"OLAP对象"文g夹,打开它,然后打开"立方体模?文g夹,q时会弹Z个提C,点击"?Q就开始配|数据库以包含OLAP对象。如图: 7.q样安装和配置完毕了,可以q行开发了Q?/p>
想用Linux已经很长旉了,׃没有性Q务一直也没有pȝ学习Q近日由于工作需要必M用Linux下的MySQL。本以ؓ有Windows下用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和用MySQL时走了很多弯路,遇见很多问题Q毕竟Linux 和Windows本n有很大区别。ؓ了让和我一L初学者在学习的过E中走弯\Q尽快入门,写了此文Q希望对您有所帮助?/p>
二、安装Mysql
1、下载MySQL的安装文?
安装MySQL需要下面两个文Ӟ
MySQL-server-5.0.9-0.i386.rpm
MySQL-client-5.0.9-0.i386.rpm
下蝲地址为:http://dev.mysql.com/downloads/mysql/5.0.htmlQ打开此网,下拉|页扑ֈ“Linux x86 RPM downloads”,扑ֈ“Server”?#8220;Client programs”,下蝲需要的上述两个rpm文g?
2、安装MySQL
rpm文g是Red Hat公司开发的软g安装包,rpm可让Linux在安装Y件包时免除许多复杂的手箋。该命o在安装时常用的参数是 –ivh ,其中i表示安装指定的rmp软g包,V表示安装时的详细信息Qh表示在安装期间出?#8220;#”W号来显C目前的安装q程。这个符号将持箋到安装完成后才停止?
1Q安装服务器?
在有两个rmp文g的目录下q行如下命oQ?
[root@test1 local]# rpm -ivh MySQL-server-5.0.9-0.i386.rpm
昄如下信息?
warning: MySQL-server-5.0.9-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing... ########################################### [100%]
1:MySQL-server ########################################### [100%]
。。。。。。(省略昄Q?
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h test1 password 'new-password'
。。。。。。(省略昄Q?
Starting mysqld daemon with databases from /var/lib/mysql
如出现如上信息,服务端安装完毕。测试是否成功可q行netstat看Mysql端口是否打开Q如打开表示服务已经启动Q安装成功。Mysql默认的端口是3306?
[root@test1 local]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
上面昄可以看出MySQL服务已经启动?
2Q安装客L
q行如下命oQ?
[root@test1 local]# rpm -ivh MySQL-client-5.0.9-0.i386.rpm
warning: MySQL-client-5.0.9-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing... ########################################### [100%]
1:MySQL-client ########################################### [100%]
昄安装完毕?
用下面的命oq接mysql,试是否成功?
三、登录MySQL
dMySQL的命令是mysqlQ?mysql 的用语法如下:
mysql [-u username] [-h host] [-p[password]] [dbname]
username ?password 分别?MySQL 的用户名与密码,mysql的初始管理帐hrootQ没有密码,注意Q这个root用户不是Linux的系l用戗?span style="COLOR: red">MySQL默认用户是rootQ由于初始没有密?/span>Q第一ơ进时只需键入mysql卛_?
[root@test1 local]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.16-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
出现?#8220;mysql>”提示W,恭喜你,安装成功Q?
增加了密码后的登录格式如下:
mysql -u root -p
Enter password: (输入密码)
其中-u后跟的是用户名,-p要求输入密码Q回车后在输入密码处输入密码?
注意Q这个mysql文g?usr/bin目录下,与后面讲的启动文?etc/init.d/mysql不是一个文件?
四、MySQL的几个重要目?
MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配|文件和命o文g分别在不同的目录Q了解这些目录非帔R要,其对于Linux的初学者,因ؓ Linux本n的目录结构就比较复杂Q如果搞不清楚MySQL的安装目录那无从谈h入学习?
下面׃l一下这几个目录?
1、数据库目录
/var/lib/mysql/
2、配|文?
/usr/share/mysqlQmysql.server命o及配|文Ӟ
3、相兛_?
/usr/bin(mysqladmin mysqldump{命?
4、启动脚?
/etc/rc.d/init.d/Q启动脚本文件mysql的目录)
五、修改登录密?
MySQL默认没有密码Q安装完毕增加密码的重要性是不言而喻的?
1、命?
usr/bin/mysqladmin -u root password 'new-password'
格式Q?span style="COLOR: red">mysqladmin -u用户?-p旧密?password 新密?/span>
2、例?
?Q给root加个密码123456?
键入以下命o Q?
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
注:因ؓ开始时root没有密码Q所?p旧密码一就可以省略了?
3、测试是否修Ҏ?
1Q不用密码登?
[root@test1 local]# mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
昄错误Q说明密码已l修攏V?
2Q用修改后的密码d
[root@test1 local]# mysql -u root -p
Enter password: (输入修改后的密码123456)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.0.16-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
成功Q?
q是通过mysqladmin命o修改口oQ也可通过修改库来更改口o?
六、启动与停止
1、启?
MySQL安装完成后启动文件mysql?etc/init.d目录下,在需要启动时q行下面命o卛_?
[root@test1 init.d]# /etc/init.d/mysql start
2、停?
/usr/bin/mysqladmin -u root -p shutdown
3、自动启?
1Q察看mysql是否在自动启动列表中
[root@test1 local]# /sbin/chkconfig --list
2Q把MySQLdCpȝ的启动服务组里面?
[root@test1 local]# /sbin/chkconfig -add mysql
3Q把MySQL从启动服务组里面删除?
[root@test1 local]# /sbin/chkconfig -del mysql
七、更改MySQL目录
MySQL默认的数据文件存储目录ؓ/var/lib/mysql。假如要把目录移?home/data下需要进行下面几步:
1、home目录下徏立data目录
cd /home
mkdir data
2、把MySQL服务q程停掉Q?
mysqladmin -u root -p shutdown
3、把/var/lib/mysql整个目录Ud/home/data
mv /var/lib/mysql /home/data/
q样把MySQL的数据文件移动到?home/data/mysql?
4、找到my.cnf配置文g
如果/etc/目录下没有my.cnf配置文gQ请?usr/share/mysql/下找?.cnf文gQ拷贝其中一个到/etc/q改名ؓmy.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、编辑MySQL的配|文?etc/my.cnf
Z证MySQL能够正常工作Q需要指明mysql.sock文g的生位|?修改socket=/var/lib/mysql/mysql.sock一行中{号双的gؓQ?home/mysql/mysql.sock 。操作如下:
vi my.cnf (用vi工具~辑my.cnf文gQ找C列数据修改之)
# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sockQ原内容Qؓ了更E_?#8220;#”注释此行Q?
socket = /home/data/mysql/mysql.sock Q加上此行)
6、修改MySQL启动脚本/etc/rc.d/init.d/mysql
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysqlQ把其中datadir=/var/lib/mysql一行中Q等号右边的路径Ҏ你现在的实际存放路径Qhome/data/mysql?
[root@test1 etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql Q注释此行)
datadir=/home/data/mysql Q加上此行)
7、重新启动MySQL服务
/etc/rc.d/init.d/mysql start
或用reboot命o重启Linux
如果工作正常Ud成功了Q否则对照前面的7步再查一下?
八、MySQL的常用操?
注意QMySQL中每个命令后都要以分Pl尾?
1、显C数据库
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.04 sec)
Mysql刚安装完有两个数据库Qmysql和test。mysql库非帔R要,它里面有MySQL的系l信息,我们改密码和新增用户Q实际上是用这个库中的相关表进行操作?
2、显C数据库中的?
mysql> use mysql; Q打开库,Ҏ个库q行操作p打开此库Q类gfoxpro Q?
Database changed
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| user |
+-----------------+
6 rows in set (0.01 sec)
3、显C数据表的结构:
describe 表名;
4、显C中的记录Q?
select * from 表名;
例如Q显Cmysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中?
Select * from user;
5、徏库:
create database 库名;
例如Q创Z个名字位aaa的库
mysql> create databases aaa;
6、徏表:
use 库名Q?
create table 表名 (字段讑֮列表)Q?
例如Q在刚创建的aaa库中建立表name,表中有id(序号Q自动增?QxmQ姓名),xbQ性别Q?csnyQ出w年月)四个字段
use aaa;
mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
可以用describe命o察看刚徏立的表结构?
mysql> describe name;
+-------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+----------------+
| id | int(3) | | PRI | NULL | auto_increment |
| xm | char(8) | YES | | NULL | |
| xb | char(2) | YES | | NULL | |
| csny | date | YES | | NULL | |
+-------+---------+------+-----+---------+----------------+
7、增加记?
例如Q增加几条相关纪录?
mysql> insert into name values('','张三','?,'1971-10-01');
mysql> insert into name values('','白云','?,'1972-05-20');
可用select命o来验证结果?
mysql> select * from name;
+----+------+------+------------+
| id | xm | xb | csny |
+----+------+------+------------+
| 1 | 张三 | 甗 | 1971-10-01 |
| 2 | 白云 | 奟뀀 | 1972-05-20 |
+----+------+------+------------+
8、修改纪?
例如Q将张三的出生年月改?971-01-10
mysql> update name set csny='1971-01-10' where xm='张三';
9、删除纪?
例如Q删除张三的U录?
mysql> delete from name where xm='张三';
10、删库和删表
drop database 库名;
drop table 表名Q?
九、增加MySQL用户
格式Q?span style="COLOR: red">grant select on 数据?* to 用户名@dL identified by "密码"
?、增加一个用户user_1密码?23Q让他可以在ML上登录,q对所有数据库有查询、插入、修攏V删除的权限。首先用以root用户q入MySQLQ然后键入以下命令:
mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123";
?增加的用h十分危险的,如果知道了user_1的密码,那么他就可以在网上的M一台电脑上d你的MySQL数据库ƈ对你的数据ؓ所Ʋؓ了,解决办法见例2?
?、增加一个用户user_2密码?23,让此用户只可以在localhost上登录,q可以对数据库aaaq行查询、插入、修攏V删除的操作Qlocalhost指本C机,即MySQL数据库所在的那台LQ,q样用户即用知道user_2的密码,他也无法从网上直接访问数据库Q只能通过 MYSQLL来操作aaa库?
mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";
用新增的用户如果d不了MySQLQ在d时用如下命oQ?
mysql -u user_1 -p -h 192.168.113.50 Q?h后跟的是要登录主机的ip地址Q?
十?span style="COLOR: red">备䆾与恢?/span>
1、备?
例如Q将上例创徏的aaa库备份到文gback_aaa?
[root@test1 root]# cd /home/data/mysql (q入到库目录Q本例库已由val/lib/mysql转到/home/data/mysqlQ见上述W七部分内容)
[root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa
2、恢?
[root@test mysql]# mysql -u root -p ccc < back_aaa
]]>
IBM DB2 Cube View 产品为DB2的一个组Ӟ在标准的DB2 ESE中不包含Q在DB2数据仓库版中包含。Cube View的具体信息详见IBM官方说明Q这里就不过多阐qCQ本lg的主要功能是让DB2支持OLAP功能Qƈ且提供一l与OLAP相关的API?br>
安装Cube View的方式有2U,一Uؓ直接安装IBM DB2 Data Warehouse Edition(IBM DB2 DWE)Q?在DB2的数据仓库版中包含Cube ViewQ直接完整安装就可以了,省去了单独安装后的配|及更新工作Q比较简单,q里׃详述了;W二Uؓ单独安装Cube ViewQ本文主要详q这U方式的安装和配|?br>
1).本文主要讲述AIX上的安装ҎQ所有的命o都是ZAIX的,其他的OSQ基本一栗?br> 2).保证_的磁盘空_用df语句查询I间信息。主要包括:①介质所在空间、②用户目录I间、③安装路径目录I间(/usr/db2/..可能不一?具体如图Q?br>
1).q入解压后的目录?br> 2).执行db2setupE序Q命令ؓ./db2setupQ程序开始运行,q弹出安装界面,如图Q?br>
4).单击"Next",q入"Software License Agreement"面Q选择"Accept" Q单?Next"?br> 5).q入选择cd面选择所Q需要安装品的cdQ如图:
说明Q由于是单独安装Cube ViewQ所以必让Cube View和DB2的版本一_在WINpȝ上,是分开的两个补丁,分别安装补丁Q将补丁打到同一版本Q在AIX上,只有一个DB2的通用补丁包,只需要打q个通用补丁包就可以?br> 1).定DB2版本Q将用户切换到DB2实例用户Q本例子中用的DB2ADMIN用户
首先执行命oQ?su - db2admin"Q然后执行DB2命o查看DB2版本Q?db2level"Q如图:
DB2的db2look命o诠释如下Q?br />
db2look 版本 8.2
db2lookQ生?DDL 以便重新创徏在数据库中定义的对象
语法: db2look -d DBname [-e] [-u Creator] [-z Schema] [-t Tname1 Tname2...TnameN] [-tw Tname] [-h] [-o Fname] [-a]
[-m] [-c] [-r] [-l] [-x] [-xd] [-f] [-fd] [-td x] [-noview] [-i userID] [-w password]
[-v Vname1 Vname2 ... VnameN]
[-wrapper WrapperName] [-server ServerName] [-nofed]
db2look -d DBname [-u Creator] [-s] [-g] [-a] [-t Tname1 Tname2...TnameN]
[-p] [-o Fname] [-i userID] [-w password]
db2look [-h]
-d: 数据库名Uͼq必L?/font>
-e: 抽取复制数据库所需要的 DDL 文g
此选项生成包?DDL 语句的脚?br /> 可以对另一个数据库q行此脚本以侉K新创建数据库对象
此选项可以?-m 选项一起?br /> -u: 创徏E序标识Q若 -u ?-a 都未指定Q则?$USER
如果指定?-a 选项Q则忽?-u 选项
-z: 模式名:如果同时指定?-z ?-aQ则忽?-z
联合部分的模式名被忽?br /> -t: 生成指定表的l计信息
可以指定的表的数目最多ؓ 30
-tw: 为名UC表名的模式条Ӟ通配W)相匹配的表生?DDL
当指定了 -tw 选项Ӟ-t 选项会被忽略
-v: 只ؓ视图生成 DDLQ当指定?-t 时将忽略此选项
-h: 更详l的帮助消息
-o: 输出重定向到给定的文g?br /> 如果未指?-o 选项Q则输出{?stdout
-a: 为所有创建程序生成统计信?br /> 如果指定了此选项Q则忽?-u 选项
-m: 在模拟方式下q行 db2look 实用E序
此选项生成包?SQL UPDATE 语句的脚?br /> q些 SQL UPDATE 语句捕获所有统计信?br /> 可以对另一个数据库q行此脚本以便复制初始的那一?br /> 当指定了 -m 选项Ӟ忽?-p?g ?-s 选项
-c: 不要生成模拟?COMMIT 语句
除非指定?-m ?-eQ否则将忽略此选项
不生成 CONNECT ?CONNECT RESET 语句
省略?COMMIT。在执行脚本之后Q需要显式地q行落实?br /> -r: 不要生成模拟?RUNSTATS 语句
~省gؓ RUNSTATS。仅当指定了 -m Ӟ此选项才有?br /> -l: 生成数据库布局Q数据库分区l、缓冲池和表I间?br /> -x: 如果指定了此选项Q则 db2look 实用E序生成授?DDL
对于现有已授权特权,不包括对象的原始定义?br /> -xd: 如果指定了此选项Q则 db2look 实用E序生成授?DDL
对于现有已授权特权,包括对象的原始定义器
-f: 抽取配置参数和环境变?br /> 如果指定此选项Q将忽略 -wrapper ?-server 选项
-fd: ?opt_buffpage ?opt_sortheap 以及其它配置和环境参数生?db2fopt 语句?br /> -td: ?x 指定句定界符Q缺省定界符为分P;Q)
应该?-e 选项一起用(如果触发器或?SQL 例程存在的话Q?br /> -p: 使用明文格式
-s: 生成 postscript 文g
此选项ؓ您生?postscript 文g
当设|了此选项Ӟ除L?latex ?tmp ps 文g
所需的(?IBMQYӞLaTeX ?dvips
注意Q文?psfig.tex 必须?LaTeX 输入路径?br /> -g: 使用囑Ş来显C烦引的访存对
必须安装 GnuplotQƈ?<psfig.tex> 必须在您?LaTeX 输入路径?br /> q将?LaTeX 文g一L?<filename.ps> 文g
-i: d到数据库ȝ的服务器时所使用的用h?br /> -w: d到数据库ȝ的服务器时所使用的密?br /> -noview: 不要生成 CREATE VIEW ddl 语句
-wrapper: 为适用于此包装器的联合对象生成 DDL
生成的对象可能包含下列各:
包装器、服务器、用h、昵U、类型映?br /> 函数模板、函数映和索引规范
-server: 为适用于此服务器的联合对象生成 DDL
生成的对象可能包含下列各:
包装器、服务器、用h、昵U、类型映?br /> 函数模板、函数映和索引规范
-nofed: 不要生成 Federated DDL
如果指定此选项Q将忽略 -wrapper ?-server 选项
LaTeX 排版Qlatex filename.tex 以获?filename.dvi
CZ: db2look -d DEPARTMENT -u walid -e -o db2look.sql
-- q将生成q?WALID 创徏的所有表和联合对象的 DDL 语句
-- db2look 输出被发送到名ؓ db2look.sql 的文件中
CZ: db2look -d DEPARTMENT -z myscm1 -e -o db2look.sql
-- q将为模式名?MYSCM1 的所有表生成 DDL 语句
-- q将生成 $USER 创徏的所有联合对象的 DDL?br /> -- db2look 输出被发送到名ؓ db2look.sql 的文件中
CZ: db2look -d DEPARTMENT -u walid -m -o db2look.sql
-- q将生成 UPDATE 语句以捕获关于用?WALID 创徏的表Q昵U的l计信息
-- db2look 输出被发送到名ؓ db2look.sql 的文件中
CZ: db2look -d DEPARTMENT -u walid -e -wrapper W1 -o db2look.sql
-- q将生成q?WALID 创徏的所有表?DDL 语句
-- q将生成适用于包装器 W1 的用?WALID 所创徏所有联合对象的 DDL
-- db2look 输出被发送到名ؓ db2look.sql 的文件中
CZ: db2look -d DEPARTMENT -u walid -e -server S1 -o db2look.sql
-- q将生成q?WALID 创徏的所有表?DDL 语句
-- q将生成适用于服务器 S1 的用?WALID 所创徏所有联合对象的 DDL
-- db2look 输出被发送到名ؓ db2look.sql 的文件中