继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

使用二进制格式包安装Mysql以及基本SQL语句的应用。

largeQ
关注TA
已关注
手记 989
粉丝 92
获赞 585


        今天在公司看到一个环境是用二进制格式包安装的mysql,下面我们也来试试看,如何用二进制格式包安装mysql,然后基本的操作mysql。

首先解压:

# tar -zxvf mysql-5.5.33-linux2.6-i686.tar.gz  -C /usr/local/

# cd /usr/local

# ln -sv mysql-5.5.33-linux2.6-i686/ mysql

修改文件属组:

# chown root:mysql mysql/*

wKiom1OPMoOQPItSAANRTicS0xE963.jpg# cd support-files/

# ls

这里面的文件都是样例

wKiom1OPNRrCcdrdAAHFoDpwhO8628.jpg

# cp my-large.cnf /etc/my.cnf    配置文件

# cp mysql.server  /etc/init.d/mysqld    服务脚本文件

加入service 管理,设置开机启动。

# chkconfig --add mysqld

# chkconfig --list mysqld

执行初始化脚本:

rm -rf data/*

# ./scripts/mysql_install_db --help

# ./scripts/mysql_install_db --user=mysql --datadir=/mydata/data

wKiom1OPORqDJIbqAANBnFDlpDo813.jpg

初始化完成,这样数据文件夹就有默认的数据文件了。

wKiom1OPOVTi44aBAAEp88k0cRk464.jpg

添加PATH环境变量:

# vim /etc/profile.d/mysql.sh

export PATH=/usr/local/mysql/bin:$PATH

# . /etc/profile.d/mysql.sh

链接头文件:

# ln -sv /usr/local/mysql/include/ /usr/include/mysql    

导出库文件:

# vim /etc/ld.so.conf.d/mysql.conf

/usr/local/mysql/lib

# ldconfig -v | grep mysql

启动Mysql

# service mysqld start

进入mysql交互模式:

# mysql

> select version();    显示mysql版本

> show databases;    显示所有数据库

> show [global | session] variables;    显示服务器参数变量,有些变量的值可以修改,能够改变mysql的工作特性。

> show [global | session] status;    显示服务器状态变量,记录了当前包括过去的时间内mysql的运行统计数据。

> use mysql    设置默认数据库

> select user,host,password from user;    查询user表中的,user,host,password字段。

wKiom1OPy5mTkEpFAADqYbWzQA4869.jpg

> create user 'wpuser'@'192.168.1.%' identified by 'wppass';    创建用户

                    %:匹配任意长度的任意字符;

                      _ : 匹配任意单个字符;

> flush privileges;    写入内存,立即生效。

更新用户密码:

set password = password('123456');

授权语法:

> grant all privileges on dbname.tablename to 'username'@'host' [identified by 'password'];

> grant all privileges on wpdb.* to 'wpuser'@'192.168.1.%';    授权wpdb给wpuser。

修改用户密码:

第一种方法:

> set password for 'wpuser'@'192.168.1.%'=password('redhat');

第二种方法:

# mysqladmin -uroot -p password 'mypass'

清除用户:

> drop user 'wpuser'@'192.168.1.%'

> drop user 'root'@'::1';

> drop user ''@'localhost';

> drop user ''@'localhost.localdomain';

wKioL1OP2bfzdaqmAAHIdA5FuZ0715.jpg

删完了以后再看下:

wKiom1OP2mWD18R_AADDHTdcYSI645.jpg

基本的SQL语句:

创建表:

> create database testdb;

> use testdb;

> create table students (name char(30) not null primary key,id tinyint unsigned ,Age tinyint unsigned,class varchar(20) not null);        

> show tables;    显示表

> desc students;    显示表结构

wKioL1OP9ongUGmFAAEIp8JODos434.jpg

> show indexes from students;    查看键

wKiom1OP-UnzTHZFAAGT3PGJY5Y230.jpg

再创建一个表:

> create table tb1 (ID tinyint unsigned not null primary key auto_increment,Name char(30) not null unique key , Age tinyint unsigned, Gender char(1) default 'M' , Course varchar(50) not null);

显示下结构:

>desc tb1

wKioL1OQBnzgi2SMAAEepAokhSM645.jpg

清除表:

> drop table students;

wKiom1OQCEbSftn3AADpHLG--O0861.jpg

插入数据:

> insert into tb1(ID,Name,Age,Course) values (1,'Jerry',15,'English');

> insert into tb1 values (2,'Tom',15,'English');

> insert into tb1 (name,Course) values ('tuchao','computer'),('tyz','ssh');    多行插入

wKioL1OQEeGyCqsBAAJ4gebkvdI230.jpg

查询下刚刚插入的数据:

> select * from tb1;    查询表所有字段数据

> select ID,Name from tb1;    选择字段显示

wKioL1OQEtyBeJEdAAHg_4VflFg845.jpg

使用查询别名:

> select ID,Name as 'student_name',Course from tb1;

wKioL1OQE2yizK8YAADHwOkf-I0242.jpg

表达式查询:

> select ID,Name,Age from tb1 where Age is null;

wKioL1OQFUjQfXTXAACQtnnY_0A170.jpg

通配查询:

> select * from tb1 where name like 't%';

wKioL1OQFrSy9p_FAAC1nKBzEtk137.jpg

包含查询:

现在我们要查询表中Age 19和20的数据。

> select ID,Name,Age,Course from tb1 where Age in (19,20);

wKioL1OQHL7DcljWAADLXj7V9Lk102.jpg

RLIKE 正则表达式书写模式:

查询tb1表中Name字段,包含了字符u的行。

> select * from tb1 where Name rlike '.*u.*';

wKioL1OQItiS8qkuAAC7T16Psow072.jpg

查询tb1表中Name字段,以fzT字符开头的行。

> select * from tb1 where Name rlike '^[fzT]';

wKioL1OQI8HDre4HAADnfAc6PLg884.jpg

修改数据:

把tb1表中Name字段tuchao的年龄改为20

> update tb1 set Age=20 where Name='tuchao';

wKioL1OQKCDQpki3AAKHjM2EneU583.jpg

清除表中Age为20的用户。

> delete from tb1 where Age=20;

 wKiom1OQKiORlZoiAAInbonGsDA862.jpg

 实验题:

 创建如下结构表:

wKiom1OQL_vRh-tHAAEVgqUqNis638.jpg

插入如下数据:

 wKiom1OQMD_CoMfqAAEHl8l9pig795.jpg

 要求:

1、创建此表,插入数据

2、找出性别为女性的所有人;

3、找出年龄大于或等于20的所有人;

4、修改xiaohong的Course为redhat;

5、清除年龄小于20的所有人;

6、授权给testuser用户对testdb库所有访问权限;

一、创建此表,插入数据;

> create table uu (ID tinyint unsigned not null primary key auto_increment,Name char(20) not null unique key ,Age tinyint unsigned not null ,Gender char(5) default 'Man',Course varchar(50) not null);

> insert into uu values (1,'tuchao',20,'Man','Computer'),(2,'fangchao',19,'Man','Computer'),(3,'jerry',12,'Man','study'),(4,'Bob',16,'Man','English'),(5,'xiaohong',23,'Woman','C++'),(6,'minli',20,'Woman','CCNP'),(7,'zhangxue',15,'Woman','Java');

二、找出性别为女性的所有人:

> select * from uu where Gender='Woman';

wKiom1OQO8mxq51UAADGuHmvQb0278.jpg

三、找出年龄大于或等于20的所有人:

> select * from uu where Age>=20;

 wKioL1OQO9mBD0bmAADJICsPhfg929.jpg

四、 修改xiaohong的Course为redhat

> update uu set Course='C++' where Name='xiaohong'

 wKiom1OQQVXQBcQmAAHsfSmSZCE880.jpg

 五、清除年龄小于20的所有人

> delete from uu where Age<20;

wKioL1OQQfjQj5hDAADyNkDX9y4573.jpg

六、授权给testuser用户对testdb库所有访问权限

> create user 'testuser'@'192.168.1.%' identified by '123456';

> grant all on testdb.* to 'testuser'@'192.168.1.%';

写了好久好久啊,终于完了。

有问题欢迎与我交流QQ:1183710107

 

 

 

 

 

 

©著作权归作者所有:来自51CTO博客作者qw87112的原创作品,如需转载,请与作者联系,否则将追究法律责任

Linuxmysql数据库MySQL


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP