1).安装mysql
参考答案:
rpm -ivh MySQL-client-community-5.0.45-0.rhel3.i386.rpm
rpm -ivh MySQL-server-community-5.0.45-0.rhel3.i386.rpm
2.1).停止mysql数据库
2.2).启动mysql
参考答案:
mysqladmin shutdown
mysqld_safe &
3.1).显示出所有的数据库
3.2).显示数据库test里表的信息
3.3).新建数据库menagerie
3.4).新建menagerie数据库,新建表(pet表),字段为"名字、主人、种类,性别、出生和死亡日期"
3.5).显示menagerie数据库表的信息,并查看pet表的表结构
参考答案:
show databases;
use test;
show tables;
create database menagerie;
use menagerie;
CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
show tables;
describe pet;
4.1).将以下的信息导入到pet表中,注意各记录之间用回车符分隔,各字段值用空格键分隔
Fluffy Harold cat f 1993-02-04
Claws Gwen cat m 1994-03-17
Buffy Harold dog f 1989-05-13
Fang Benny dog m 1990-08-27
Bowser Diane dog m 1998-08-30 1995-07-29
Chirpy Gwen bird f 1998-09-11
Whistler Gwen bird m 1997-12-09
Slim Benny snake m 1996-04-29
参考答案:
load data local infile "/tmp/pet.txt" into table pet fields terminated by ' ';
5.1).查看mysql的环境变量,及最大连接数
5.2).编辑/usr/bin/safe_mysqld,找到mysqld启动的那两行,在后面加上参数 :-O max_connections=1500
5.3).重启mysql服务
参考答案:
mysqladmin variables
vi /usr/bin/safe_mysqld
修改为以下的内容:
then $NOHUP_NICENESS $ledir/$MYSQLD
$defaults --basedir=$MY_BASEDIR_VERSION
--datadir=$DATADIR $USER_OPTION
--pid-file=$pid_file
--skip-external-locking
-O max_connections=1500
>> $err_log 2>&1 else
"$NOHUP_NICENESS $ledir/$MYSQLD
$defaults --basedir=$MY_BASEDIR_VERSION
--datadir=$DATADIR $USER_OPTION
--pid-file=$pid_file
--skip-external-locking $args
-O max_connections=1500 >>
$err_log 2>&1"
mysqladmin shutdown
mysqld_safe &
mysqladmin variables|grep 1500
6.1).修改MYSQL的客户端/服务端的字符编码为utf8
6.2).拷贝/usr/share/mysql/my-large.cnf到/etc/,改名为my.cnf
6.3).在client和mysald段中加入default-character-set = utf8
6.4).重启mysqld服务
6.5).登入mysql,查看环境变量中的字符编码
6.6).创建数据库study,指定utf8字符编码
6.7).进入study数据库,查询数据库编码
参考答案:
cp /usr/share/mysql/my-large.cnf /etc/my.cnf
编辑my.cnf,加入utf8编码
vi /etc/my.cnf
[client]
default-character-set = utf8
[mysqld]
default-character-set = utf8
mysqladmin shutdown
mysqld_safe &
mysql
show variables like 'character_set_%';
show variables like 'collation_%';
create database study character set utf8;
use study
status
7.1).查看MYSQL系统的用户
7.2).新建一个用户pmg51,密码为pmg51,有所有数据库操作权限 ,所有IP登录的权限,并且有grant的权限
7.3).执行一个FLUSH PRIVILEGES语句告诉服务器再装载授权表
7.4).再查看MYSQL系统的用户
7.5).用pmg51登录系统,指定登入的数据库为menagerie
7.6).显示当前pmg51用户连接的数据库
参考答案:
mysql -u root mysql -p
select host,user,password from user;
GRANT ALL PRIVILEGES ON *.* TO 'pmg51'@'localhost' IDENTIFIED BY 'imeg' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'pmg51'@'%' IDENTIFIED BY 'pmg51' WITH GRANT OPTION;
FLUSH PRIVILEGES;
select host,user,password from user;
mysql -u pmg51 menagerie -p
select database();
8.1).备份menagerie数据库到/tmp/menagerie.sql文件,指定utf8编码
8.2).备份menagerie数据库的pet表到/tmp/pet.sql文件,指定utf8编码
8.3).备份menagerie数据库中的pet表sex字段为f的数据到/tmp/sex.sql文件,同样指定utf8编码
8.4).在mysql命令指示下用outfile的方式导出pet表,限定birth字段的内容为大于1995-01-01的宠物
8.5).导出menagerie数据库的pet表结构到/tmp/struct.txt文件
参考答案:
mysqldump -u pmg51 -p --default-character-set=utf8 menagerie>/tmp/menagerie.sql
mysqldump -u pmg51 -p --default-character-set=utf8 menagerie pet >/tmp/pet.sql
mysqldump -u pmg51 -p --where "sex='f'" menagerie pet --default-character-set=utf8>/tmp/sex.sql
select * into outfile '/tmp/outfile.txt' FIELDS TERMINATED BY ',' from pet where birth>='1995-01-01';
mysqldump -u pmg51 -p -d --add-drop-table menagerie >/tmp/struct.sql
9.1).删除pet表
9.2).导入/tmp/pet.sql数据到pet表
参考答案:
drop table pet;
source /tmp/pet.sql
10.1).在MYSQL环境下清除屏幕
10.2).显示/tmp/目录下的所有文件,及详细内容
参考答案:
system clear
system ls /tmp/ -l
11.1).查询MYSQL的物理数据文件路径
参考答案:
mysqladmin variables|grep datadir
12.1).显示mysql下数字为:126 127 132 134 135 136 141 144 145的错误代码
12.2).进入/var/lib/mysql/menagerie目录,组合pet表的碎片记录并且消除由于删除或更新记录而浪费的空间
参考答案:
perror 126 127 132 134 135 136 141 144 145
cd /var/lib/mysql/menagerie
myisamchk -r pet
13.1).获得关于pet表的描述或统计
13.2).继续前面的操作,加上-v告诉它以冗长模式运行
13.3).继续前面的操作,显示表的最重要的信息
13.4).继续前面的操作,显示表现在的操作信息
参考答案:
cd /var/lib/mysql/menagerie
myisamchk -d pet
myisamchk -d -v pet
myisamchk -eis pet
myisamchk -eiv pet
14).用mysqladmin的ping选项检测mysqld的状态
参考答案:
mysqladmin ping
shell> mysql -uroot -p //以root用户连接mysql,默认密码为空
注意:mysql的大部分命令都需以";"(分号)结束;对大小写不敏感!
mysql> show databases; //显示数据库列表
mysql> use 数据库名 //选中指定的数据库
mysql> show tables; //显示选中数据库中的数据表列表
mysql> select * from 表名; //显示指定数据表的内容
mysql> create database 数据库名; //创建数据库
mysql> create table user_info( //创建数据表
-> id int(6) not null auto_increment,
-> username varchar(20) not null,
-> password varchar(20) not null,
-> email varchar(50) not null,
-> key id (id));
因为使用了auto_increment (自动增长),所以必须指定key id。
mysql> describe 表名; //显示表的结构
mysql> insert into user_info values //插入数据到表中
-> ('1', 'aa', '11', 'aa@xxx.com'),
-> ('2', 'bb', '22', 'bb@xxx.com'),
-> ('3', 'cc', '33', 'cc@xxx.com');
插入数据有两种写法,上面是第一种,这种写法需要给出每一列的值!
第二种:
mysql> insert into user_info(username, password, email) values //插入数据到表中
-> ('aa', '11', 'aa@xxx.com'),
-> ('bb', '22', 'bb@xxx.com'),
-> ('cc', '33', 'cc@xxx.com');
因为第一个id被设置为auto_increment了,所以系统会自动添加!如果这里也像第一种省略了列条目,则就会提示列数不匹配的错误;
mysql> drop database 数据库名; //删除数据库
mysql> drop table 表名; //删除数据表
mysql> delete from 表名; //清空数据表
mysql> grant select,insert,delete,update //为数据库指定一个专门的用户进行管理
-> on 数据库名.* to username@localhost
-> identified by 'password';
该命令用于创建用户并指定权限,注意username和password不能太简单,否则创建不成功!
mysql> mysql -uusername -p //然后输入999用户的密码后就会以999用户进行管理mysql了
mysql> alter table 表名 add '列名' VARCHAR(12); //在表中增加一列
mysql> alter table 表名 change '列名1' '列名2' VARCHAR(12); //更改列名
mysql> alter table 表名 drop '列名'; //删除一列
mysql> alter table 表名 rename t2; //修改表名
mysql> drop database if exists school; //如果存在SCHOOL则删除
mysql> load data local infile "file" into table 表名; //文本数据应符合的格式:字段数据之间用tab键隔开,null值用/n来代替.
备份数据库:
导出:mysqldump -u用户名 -p密码 数据库名 表名 > out.sql
导入:mysql -u用户名 -p密码 --database=数据库名 < out.sql
备份数据表:
导出:mysqldump -uroot test table1 > ./out.sql
导入:mysql -uroot --database=test < ./out.sql
列数据类型:分为数字型、字符串型和日期
1、数字型:以字串的形式存储,decima/numeric;分为整形和浮点型,可以有两个选项:unsigned(无符号,只存储正数)和zerofill(用0填充而不是空格)
小数型:float/double
整数型:int bigint tinyint
范例:create table a (id int zerofill);
2、字符串型
char varchar等
3、日期型
datetime timestamp等
4、枚举型
enum('男','女')