设为首页 加入收藏

TOP

MySQL开发心得笔记超详细及SQL语法考核(二)
2017-05-27 17:35:55 】 浏览:366
Tags:MySQL 开发 心得 笔记 详细 SQL 语法 考核
一个数据库的建库语句


  1、show create table tbl_name;


  2、show create database db_name;


十三、如何查看MySQL支持的数据类型以及数据类型如何使用


  mysql> help contents;


  mysql> help data types;


  mysql> help ……


十四、列举show命令常用的语法


  1、show status like …… 查看状态值


  2、show variables like …… 查看变量参数值


  3、show create …… 查看建表、库……的语句信息


  4、show procedure status where db='db_name'\G;  #查看存储过程信息


  5、show warnings\G;  #查看警告信息


十五、help kill如何使用


  mysql> help kill


    KILL [CONNECTION | QUERY] processlist_id


注:Thread processlist identifiers can be determined from the ID column of the INFORMATION_SCHEMA.PROCESSLIST table。


  mysql> select * from INFORMATION_SCHEMA.PROCESSLIST\G;


十六、描述MySQL用户名组成以及特点


  1、MySQL用户身份识别认证:用户名user、密码password、登录mysqld主机host


  shell> mysql -uroot -p123 -h172.16.11.99


    -u:登录的用户名


    -p:登录用户对应的密码


    -h:MySQL服务器主机IP,默认是localhost的IP


  2、MySQL的用户管理模块的特点客户端请求连接,提供host、username、password,用户管理模块进行验证请求连接,通过mysql.user表进行校验信息


十七、如何查看MySQL有多少用户以及对应的权限


  1、mysql> select count(*) from mysql.user;  #查看MySQL有多少用户


  2、mysql> select * from mysql.user\G;  #用户信息查询(权限)


十八、建立一个用户


  1、本地登录


    mysql> create user 'u1'@'localhost' identified by '123';


  2、任意都可以登录


    mysql> create user 'u2'@'%' identified by '123';


  3、某一个网段可以登录


    mysql> create user 'u3'@'172.16%' identified by '123';


  4、具体主机可以登录


    mysql> create user 'u4'@'172.16.12.24' identified by '123';


十九、使用help grant,给用户赋权


二十、建立一个db1数据库的只读用户


  建用户然后授权


  mysql> GRANT SELECT ON db1.* TO 'olr_user'@'%';


二十一、建立一个只能进行系统状态信息查询的管理用户


  mysql> grant select on information_schema.* to 'admin_user'@'%';


 


二十二、建立一个db1的生产用户,只能进行dml、select,不能进行ddl


  mysql> grant select,insert,update,delete on *.* to 'pro_user'@'%';


二十三、建立一个可以进行DDL的管理用户


  mysql> grant create,drop,alter on *.* to 'admin_user'@'%';


二十四、建立一个工资表,只有指定的用户可以访问工资列,其他用户都不能访问工资列


  实现步骤:


    先在mysql.user里将所有用户检索出来,进行跑批处理(脚本或存储过程)revoke对该表列的权限;


    然后grant创建用户,并对该表列赋访问权限。 


二十五、查询上述用户以及所赋权限是否正确,同时进行验证


  mysql> select * from mysql.user\G;  #查看MySQL用户信息


  进行用户登录验证


二十六、解释with grant option,并且演示其功能


  mysql> grant all on *.* to 'zhang'@'%' identified by '123' with grant option;


  with grant option子句通过在grant语句的最后使用该子句,就允许被授权的用户把得到的权限继续授给其他用户。也就是说,客户端用zhang用户登录MySQL,可以将zhang用户有的权限使用grant进行授权给其他用户。


二十七、查询某一个表上的权限、查看某一个列上的权限、查看某一个数据库上面的权限


  1、 查询所有数据库的权限


    mysql> select * from mysql.user;


  2、 查询某个数据库的权限


    mysql> select * from mysql.db;


  3、 查询某个数据库中某个表的权限


    mysql> select * from mysql.tables_priv;


  4、 查询某个数据库某个表中某个列的权限


    mysql> select * from mysql.columns_priv;


二十八、修改参数运行使用grant建立用户,修改参数禁止grant建立用户


sql_mode参数中的NO_AUTO_CREATE_USER值:不自动创建用户


  mysql>set @@session.sql_mode=……;   #设置sql_mode参数


二十九、修改mysql的用户密码,分别使用grant、alter、set修改


  ①mysql> grant all on *.* to '用户名'@'登录主机' identified by '密码';


  ②mysql> alter user '用户名'@'登录主机' identified by '密码(自定义)';


  ③mysql> SET PASSWORD FOR '用户名'@'登录主机' = PASSWORD('密码');


三十、破解密码步骤:


  ①到/etc/my.cnf 里将 validate_password=off 行注释  //关闭密码策略


  ②shell> mysqld_safe --skip-grant-tables &  //重启数据库


  ③shell> mysql -uroot  //无密码登录


  ④mysql> flush privileges;  //刷新权限使密码生效


  ⑤修改密码,退出,重启数据库,进入


三十一、使用revoke进行权限的收回,将上面用户的授权分别收回,同时查看收回后的结果


  ①REVOKE INSERT ON *.* FROM 'jeffrey'@'localhost';


  ②REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...


三十二、select最简单常用语法


  1、全表查询


    select * from tbl_name;


  2、某些行查询


    select * from tbl_name where ……;


  3、某些列查询


    select clm_name from tbl_name;


  4、某些行的某些列查询


    select clm_name from tbl_name where ……;


  5、列别名


    select clm_na

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Oracle的跟踪文件(trace file) 下一篇详解Oracle中NLS_LANG变量的使用

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目