最近在做一个关于云计算安全系统的项目,需要用到MySQL数据库,现在把Ubuntu中建立数据库的步骤记录下来。
一、用命令在Ubuntu上安装MySQL
# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get -f install
1. sudo apt-get install mysql-server
2. apt-get isntall mysql-client
3. sudo apt-get install libmysqlclient-dev
注:如果安装过程中有未发现的包,请用命令sudo apt-get update更新软件包。
安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:
sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql的socket处于 listen状态则表示安装成功。
登陆mysql数据库可以通过如下命令:
mysql -u root -p
-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
注:本程序中选择的登录用户名为lza,密码为123456。
二、建立数据库
在mysql命令下赋予用户权限,即:
mysql>GRANT ALL ON *.* TO lza@localhost IDENTIFIED BY ‘123456’ ;
登录并创建数据库,即:
mysql -u lza -p
123456
mysql>CREATE DATABASE project; 注:本程序中所用数据库名为project。
Query OK,.....
mysql>use project
现在,可以在数据库project中添加我们想要的表和信息了。在以后的登录中,可以在命令行的结尾指定数据库,而不需要再使用use命令了,即:
mysql -u lza -p project
在按提示输入密码后,将自动切换到使用数据库project。
如图:
三、向数据库中添加表和信息
建立一个名为unit的表
--
-- create the table unit
--
mysql>create table unit(
id int(11) not null auto_increment,
unit_name varchar(80) not null,
primary key(id)
) ENGINE=InnoDB DEFAULT
CHARSET=gb2312;
Query OK,.....
建立成功
--
-- populate the table 'unit'
--
向表中添加信息
insert into unit(id,unit_name) values('1','西安电子科技大学’);
insert into unit(id,unit_name) values('2','西北工业大学');
insert into unit(id,unit_name) values('3',’西安交通大学’);
Query OK,.....
建立unit表成功后,可用命令查看,即:
mysql>select * from unit;
建立一个名为files的表
--
-- create the table files
--
mysql>create table files(
id int(11) not null auto_increment,
fname varchar(50) not null,
校长 varchar(10) default null,
院长 varchar(10) default null,
老师 varchar(10) default null,
学生 varchar(10) default null,
primary key(id)
)ENGINE=InnoDB DEFAULT
CHARSET=gb2312;
建立成功
--
-- populate the table 'users'
--
向表中添加信息
insert into files(fname,校长,院长,老师,学生) values('文件01','RWO','RW','R','R');
insert into files(fname,校长,院长,老师,学生) values('文件02','RW','RW','RWO','R');
insert into files(fname,校长,院长,老师,学生) values('文件03','R','RWO','RW','R');
insert into files(fname,校长,院长,老师,学生) values('文件04','RWO','R','RW','R');
用命令查查,如图:
建立一个名为users的表
--
-- create the table user
--
mysql>create table users(
id int(11) not null auto_increment,
loginid varchar(20) not null,
pass_word varchar(20) not null,
name varchar(20) not null,
sex int(11) default null,
unitid int(11) not null,
title varchar(10) not null,
primary key(id),
index wu_ind(unitid),
constraint unit_info foreign key(unitid) references unit(id) on update cascade on delete cascade
)ENGINE=InnoDB DEFAULT
CHARSET=utf8;
建立成功
--
-- populate the table 'users'
--
向表中添加信息
insert into users(loginid,pass_word,name,sex,unitid,title) values('1101120700','123456','王宝国',0,1,'校长');
insert into users(loginid,pass_word,name,sex,unitid,title) values('1101120701','123456','刘波',0,1,'院长');
insert into users(loginid,pass_word,name,sex,unitid,title) values('1101120702','123456','周伟',0,1,'老师');
insert into users(loginid,pass_word,name,sex,unitid,title) values('1101120703','123456','张紫焉',1,1,'老师');
insert into users(loginid,pass_word,name,sex,unitid,title) values('1101120704','123456','李强',0,1,'学生');
insert into users(loginid,pass_word,name,sex,unitid,title) values('1101120705','123456','赵刚',0,1,'学生');
insert into users(loginid,pass_word,name,sex,unitid,title) values('1101120706','123456','上官菲菲',1,1,'学生');
insert into users(loginid,pass_word,name,sex,unitid,title) values('1101120710','123456','张浩然',0,2,'校长');
insert into users(loginid,pass_word,name,sex,unitid,title) values('1101120711','123456','李通',0,2,'院长');
insert into users(loginid,pass_word,name,sex,unitid,title) values('1101120712','123456','白露',1,2,'老师');
insert into users(loginid,pass_word,name,sex,unitid,title) values('1101120713','123456','孙卓',1,2,'学生');
Query ok,...
用命令查查,如图: