Linux操作系统的Mysql

来源:互联网 发布:lol mac版 编辑:程序博客网 时间:2024/05/04 23:15


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('男','女')
 

 

原创粉丝点击