安装mysql

yum install -y mysql-server

注:

这里可能会报错,No package mysql-server available.

解决方法:

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

rpm -ivh mysql-community-release-el7-5.noarch.rpm


Mysql 常用语句

增删改查+授权+启动关闭

一、SQL语句——增

1、创建用户

mysql> create user Jane@'%' identified by '123456';

注释:

  • Jane@'%' = 用户@‘%’ :

@后面接的是,用户用来连接数据库的方式。其中,‘%’表示远程登录,如果是本地登录,则换成‘localhost’。

(一般指定用户,都要给用户指定它的登录类型,如本地登录localhost或远程登录'%')

  • identified by '123456':

identified by后面接的是密码,123456就是密码

2、创建数据库

mysql> create database test;
注释:

  • create database + 数据库的名字(库存放表)

3、创建数据表

mysql> create table aaa (id int , name char(30));

注释:

  • create database + 表的名字(字段(约束条件));  #字段就是列

4、插入数据

mysql> insert into bbb (id,name,age) values(1,'zhangsan',21);

注释:

  • insert into 表(字段)values(字段的值)

二、SQL语句——删

1、删除用户

mysql> drop user Jane@'%';
注释:

删除一个用户后面要接上该用户的登录方式(本地登录/远程登录),才算完整命令

2、删除数据库(慎重使用!)

mysql> drop database test;

3、删除数据表(慎重使用!)

mysql> drop table aaa;

4、删除数据

mysql> delete from aaa where id=5;  

mysql> delete from aaa where age between 23 and 25;  

注释:

delete from + 表  where+条件 :从哪个表删除(from),删除什么 (where)

三、SQL语句——改

1、修改表中的数据

mysql> update aaa set age=21 where id=3;

注释:

update 某表 set 字段 where 字段中的指定的某个条件;

2、修改表的名称

mysql> alter table aaa rename a1;     #rename 将表aaa更名为a1

3、修改表的字段类型:

mysql> describe a1;    #查看表a1中的各字段
mysql> alter table a1 modify name char(50);    

注释:

modify:修改字段的类型 ==> modify 字段名 类型

alter:是修改某个表 ==> alter table 表

4、修改表名+字段类型 (change 涵盖 rename+modify)

alter table a1 change name username char(50) not null default ''

 # name字段类型改成username;字段类型改成char(50) ;不能为空;默认为空格

5、添加/删除字段

mysql> alter table a1 add time datetime;       #增加字段time,字段time的类型是datetime

mysql> alter table a1 drop time;      #删除字段time

四、SQL语句——查

1、查看所有数据库

mysql> show databases;

2、查看指定库内所有数据表

mysql> show tables;
3、查看指定数据表的字段结构

mysql> describe a1;

4、查看所有Mysql用户密码及登录方式

mysql> select User,Password,Host from mysql.user;
注释:

select ××× from 某数据库.某表

五、SQL语句——授权&取消授权

1、授予用户全部权限

mysql> grant all on test.a1 to Jane@'%';   

# 给用户Jane@'%'授予全部权限,让用户能够管理test.a1

注释:

grant 某权限 on 数据库/数据表 to 某用户 (生产环境下尽量不要授予全部all权限)

2、创建用户并授权 (即事先没有某用户的情况先)

mysql> grant all on test.a1 to xdx@'%' identified by '123456';   

# 对比上面命令,即多加了新用户的登录密码


1、取消xdx用户的删除库、表、表中数据的权限

mysql> revoke drop,delete on test.a1 from xdx@'%';

# 取消用户xdx对数据库test中的a1表的删除库(drop)、删除表(delete)的权限

注释:

revoke 某权限 on 某数据库/数据表 from 某用户

2、查看指定用户的授权信息
mysql> show grants for xdx@'%';     (这个显示具体拥有的权限)

mysql> show grants for Jane@'%';   (这个显示拥有所有权限all privileges)

六、SQL语句——启动和关闭

1、启动:

① [root@localhost ~]# systemctl start mysqld

② [root@localhost ~]# /etc/init.d/mysqld start    # rpm包安装情况下

③ [root@localhost ~]# mysqld_safe &  #源码安装下

2、关闭:

① [root@localhost ~]# systemctl stop mysqld

② [root@localhost ~]# /etc/init.d/mysqld stop    # rpm包安装情况下

③ [root@localhost ~]# mysqladmin -uroot -p123456 shutdown