当前位置: 首页 > news >正文

mysql安全值守数据库常用语句

目录

  • 1.用户权限设置
    • mysql中用户如何定义
  • 2.元数据查询
  • 3.union查询详解
  • 4.分组查询展示
  • 5.字符串函数
  • 6.mysql数据库导入导出

1.用户权限设置

mysql中用户如何定义

用户名@主机域

有以下几种表示方式:
1. 10.0.0.51
2. 10.0.0.%
3. %
4. 10.0.0.0/255.255.255.0
5. Db01
6. Localhost
7. 127.0.0.1
  • 用户创建
create user 321@'%'identified by '123';
  • 用户删除
drop user username;
username:删除的用户名

权限分为

  • 全局:可以管理整个MySQL

  • 库:可以管理指定的数据库

  • 表:可以管理指定数据库的指定表

  • 字段:可以管理指定数据库的指定表的指定字段

  • 查看用户权限赋予情况

show grants for xinjing@'%'
  • 用户授权
grant  all privileges on stu.* to ‘xinjing’@’%’ identified by123with option;//授权给xinjing在stu库中所有表的所有权限并且还拥有给其他用户授权的权利
revoke all privileges on stu.* from 'xinjing'@'%'; //取消授权

2.元数据查询

Select version();服务器版本信息
Select database();当前数据库名
Select user():当前用户名
Show status;服务器状态
Show variables;服务器配置变量
Show global variables like ‘%datadir%‘:看数据文件存放位置
show global variables like ‘%datadir%’; 看数据文件存放位置
select @@datadir; 查询数据库的路径
select @@basedir 查询mysql的安装路径

3.union查询详解

把2条或者多条SQL语句的查询结果合并成一个结果集

  • 比如:sql1: N行,sql2: M行,sql1 union sql2 —> N+M行
mysql> select * from temp1;
+-----+-------+
| uid | uname |
+-----+-------+
|   1 | haha  |
|   2 | xixi  |
|   3 | hehe  |
+-----+-------+
3 rows in set (0.00 sec)mysql> select * from temp2;
+-----+-----+
| eid | age |
+-----+-----+
|   1 |  21 |
|   2 |  20 |
|   3 |  14 |
+-----+-----+
3 rows in set (0.00 sec)mysql> select * from temp1 union select * from temp2;
+-----+-------+
| uid | uname |
+-----+-------+
|   1 | haha  |
|   2 | xixi  |
|   3 | hehe  |
|   1 | 21    |
|   2 | 20    |
|   3 | 14    |
+-----+-------+
6 rows in set (0.00 sec)mysql> select * from temp1 union select  1,2;
+-----+-------+
| uid | uname |
+-----+-------+
|   1 | haha  |
|   2 | xixi  |
|   3 | hehe  |
|   1 | 2     |
+-----+-------+
4 rows in set (0.00 sec)
mysql> select * from temp1 union select  12,2;
+-----+-------+
| uid | uname |
+-----+-------+
|   1 | haha  |
|   2 | xixi  |
|   3 | hehe  |
|  12 | 2     |
+-----+-------+
4 rows in set (0.00 sec)
  • 要求结果集中的列数一致就可以。一般就是2列或者多列

4.分组查询展示

GROUP_CONCAT()

  • 是将分组中括号里对应的字符串进行连接.如果分组中括号里的参数xxx有多行,那么就会将这多行的字符串连接,每个字符串之间会有特定的符号进行分隔。
  • 格式:

group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )
select sid,group_concat(cid),group_concat(cj order by cj desc SEPARATOR ' ') from score
group by sid

5.字符串函数

函数作用
lower(column str)将字符串全部转化为小写
upper(column str)将字符串全部转化为大写
concat(str1,str2)将多个字符串首尾相连后返回
concat_ws(separator,str1,str2)将多个字符串指定连接符separator的首尾相连后返回
substr(str,pos,[,len])从字符串中的指定位置pos开始取一个字串返回
length(str)返回字符串的存储长度
char_length(str)返回字符串的字符个数
mysql> select lower("ABcd");
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    14
Current database: sys+---------------+
| lower("ABcd") |
+---------------+
| abcd          |
+---------------+
1 row in set (0.01 sec)mysql> select upper("ABcd");
+---------------+
| upper("ABcd") |
+---------------+
| ABCD          |
+---------------+
1 row in set (0.00 sec)mysql> select concat('abc','123');
+---------------------+
| concat('abc','123') |
+---------------------+
| abc123              |
+---------------------+
1 row in set (0.02 sec)mysql> select concat_ws(':','abc','123');
+----------------------------+
| concat_ws(':','abc','123') |
+----------------------------+
| abc:123                    |
+----------------------------+
1 row in set (0.00 sec)mysql> select substr('hello',2,3);
+---------------------+
| substr('hello',2,3) |
+---------------------+
| ell                 |
+---------------------+
1 row in set (0.00 sec)mysql> select substr('hello',2,1);
+---------------------+
| substr('hello',2,1) |
+---------------------+
| e                   |
+---------------------+
1 row in set (0.00 sec)mysql> select length('hello');
+-----------------+
| length('hello') |
+-----------------+
|               5 |
+-----------------+
1 row in set (0.00 sec)mysql> select char_length('hello');
+----------------------+
| char_length('hello') |
+----------------------+
|                    5 |
+----------------------+
1 row in set (0.00 sec)

6.mysql数据库导入导出

  • 表数据导入导出
    • 导出TXT文件(有漏洞,mysql已经封了)
select * from demo1 into outfile '/temp/utemp1data.txt';
use student;
show VARIABLES like "secure_file_priv";

mysql> show VARIABLES like "secure_file_priv";
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| secure_file_priv | NULL  |
+------------------+-------+
1 row in set, 1 warning (0.00 sec)
可以看到没有权限
  • 导出TXT文件
oad data local infile '/root/utemp1data.txt' into table temp;
  • 数据库导入导出
    –mysqldump导出
    – dump出表utemp1
    – mysqldump -uroot -p student utemp1>utemp1.sql
    – dump出库student
    – mysqldump -uroot -p student>student.sql
    – dump所有的数据库及数据库表
    – mysqldump -u root -p --all-databases>mysqldatabases.sql;

– mysql的数据库导入"<"
– 新建一个数据库
create database dumpdemo1
– 回到mysql接口
– mysql -u root -p654321 dumpdemo1<student.sql
– 进入mysql验证
use dumpdemo1
show tables;

– mysql的数据库导入 “source”
mysql -u root -p
create database sourcedumpdemo;
source /var/lib/mysql-files/student.sql

http://www.lryc.cn/news/35509.html

相关文章:

  • CSS快速入门
  • emq-docker安装配置
  • Bean三种实例化方式的底层原理
  • java25种设计模式之适配器模式
  • 【微服务】—— 初识微服务
  • Unity使用webSocket与服务器通信(二)——C#服务器端使用Fleck时的简单服用方法
  • 【Linux】线程概念 | 线程控制
  • pocsuite3安装及使用
  • docker从安装到部署一个项目
  • QT编程从入门到精通之十二:“第四章:Qt程序创建基础”之“4.1 创建基础程序”
  • 黑客入门教程【非常详细】从零基础入门到精通,看这一篇就够了!
  • 手机怎么远程控制腾讯云云服务器?
  • dorcker与vlu靶场搭建
  • Unity性能优化 - Overdraw篇
  • Tp5操作mysql json函数
  • 【蓝桥杯嵌入式】PWM的设置,原理图解析与代码实现(第十一届省赛为例)——STM32
  • Learning C++ No.13【STL No.3】
  • 推荐收藏!10大程序员必备生产力工具
  • 【项目总结】基于SSM+SpringBoot+Redis的个人博客系统项目总结
  • 从入门到精通MongoDB数据库系列之一:MongoDB简介
  • 大数据系列——什么是hdfs?hdfs用来干什么的?
  • 云端地球2月更新了这些功能,你都用过了吗?
  • 基于gin-vue-admin[gin+gorm]手动实现crud(全)
  • 彻底关闭Windows10更新!!
  • 跨时钟域CDC
  • JavaEE简单示例——Spring的控制反转
  • DBT 收购 Transform,指标平台已成现代数据栈关键拼图
  • @Value注解取不到值的几种错误
  • 听客户说|东台农商银行:建立健全数据安全管理制度的探索与实践
  • Benchbot环境安装记录