文档章节

mysql用户管理、常用sql语句、mysql数据库备份恢复

laoba
 laoba
发布于 06/21 10:01
字数 1071
阅读 20
收藏 0

1. mysql用户管理

mysql默认有一个root超级管理员账户,实际工作环境中不可能每个人都用此root权限,防止误操作、误删除,可以给单独的用户进行授权。

Mysql创建用户以及授权:

grant all on *.* to 'user1' identified by 'passwd';

其中,all表示所有权限(如读、写、查询、删除等操作); .有两个*,前者表示所有数据库,后者表示所有的表;identified by后面跟密码,用单引号括起来。这里的user1指localhost上的user1。如果是给网络其他机器上的某个用户授权,则需要执行如下命令:

grant all on db1.* to 'user2'@'172.20.4.171' identified by '123456';

其中,用户和主机的ip之间有个符号@,另外,命令中主机ip可以用%替代,表示所有主机,如下命令:

grant all on db1.* to 'user3'@'%' identified by '123456';

可以根据具体的权限授权:

grant SELECT,UPDATE,INSERT on db1.* to 'user4'@'127.0.0.1' identified by '123456';

主机ip 127.0.0.1表示只能在mysql服务器上使用该用户。

• show grants;

• show grants for user2@192.168.133.1;

show grants;命令平时用的不多,当给用户新增授权时可以直接复制里面的显示,然后更改来源ip,密码并不影响。

扩展:

撤销已经赋予给 MySQL 用户权限的权限。

revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:

revoke  all on *.* from 'root'@'192.168.0.197' ;

REVOKE语句只能取消用户的权限,而不可以删除用户。即使取消了所有的权限,用户仍然可以连接到服务器。要想彻底的删除用户,必须使用DELETE语句将该用户的记录从MySQL数据库中的user表中删除。该语句的语法格式如下: 

Delete from user where user = "user_name" and host = "host_name" ; 

例子:

use mysql;

delete from user where user='sss' and host='localhost' ;

flush privileges ;

最后再次查看一下授权用户,发现消失了

select user,host from mysql.user; //查看mysql用户和host

2. 常用sql语句

查询语句:

1. select count(*) from mysql.user;

其中,mysql.user表示MySQL库中的user表,count(*)表示表中共有多少行。

2. select * from mysql.db;

它表示查询mysql库的db表中的所有数据。当然也可以查询单个字段或者多个字段,如下所示

select db from mysql.db;

select db,user from mysql.db;

同样查询的语句中也可以使用万能匹配符%,如下所示:

select * from mysql.db where host like '192.168.%';

插入一行:

插入操作在mysql中也很普遍,如下所示:

insert into db1.t1 values (1, 'abc');

select * from db1.t1;

更改表的某一行:

mysql表里存放的数据支持更改某个字段,如下所示:

update db1.t1 set name='aaa' where id=1;

清空某个表的数据:

有时我们不希望删除表,而只是想清空某个表的数据,如下所示:

truncate table db1.t1;

清空表内容,表结构还在

删除表:

drop table db1.t1;

删除数据库:

• drop database db1;

3. mysql数据备份恢复

备份库:

备份mysql要使用mysqldump命令,具体用法如下:

mysqldump -uroot -p123456 mysql > /tmp/mysql.sql

其中,-u和-p两个选项的使用方法和前面介绍的一样;后面的mysql指的是库名,然后重定向到一个文本文档里。备份做完后,你可以查看/tmp/mysql.sql这个文件的内容。

恢复库:

mysql -uroot -p123456 mysql < /tmp/mysql.sql

可以恢复到新建的库中测试,看看表以及表里的内容是否一致

备份表:

mysqldump -uroot -p123456 mysql user > /tmp/user.sql

less /tmp/user.sql 查看备份的文件发现恢复时会先查看是否有这个表,如果有则删除重新创建表,然后在insert数据

恢复表:

mysql -uroot -p123456 mysql < /tmp/user.sql

备份所有库:

mysqldump -uroot -p123456 -A >/tmp/123.sql

-A选项备份所有的库

备份文件中搜索Current Database:可以看到有哪些库

只备份表结构:

mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql

© 著作权归作者所有

共有 人打赏支持
laoba
粉丝 3
博文 80
码字总数 89194
作品 0
闵行
私信 提问
MySql常用操作(mysql用户管理、常用sql语句、mysql数据库备份恢复)

mysql用户管理 创建用户并赋予权限 刷新之后才能生效 查看权限 运行效果如下所示 查看指定用户的权限 常用sql语句 MySQL数据库备份恢复 1.备份库文件 2.创建数据库mysql2并且将步骤1的备份文...

蛋黄_Yolks
08/23
0
0
13-2 13 mysql 用户管理 sql语句 mysql数据库备份恢复

13.4 mysql用户管理 13.5 常用sql语句 13.6 mysql数据库备份恢复 MySQL创建用户以及授权 开发,DBA需要深入掌握,但是作为系统管理员,基本的得会! select 查 insert 插入 update 修改 删除...

阿想
2017/10/31
0
0
MySQL用户管理、sql常用语句、mysql备份与恢复

MySQL用户管理 创建用户 .:表示所有库和表; user1:用户名; localhost:登录ip,默认localhost为本机登录ip,也可以使用%代表所有; 查看当前用户权限 常用的sql语句 select:查看; inse...

若白衣
03/24
0
0
mysql用户管理、sql语句、sql备份恢复

13.4 mysql用户管理 grant all on . to 'user1' identified by 'passwd'; grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.133.1' identified by 'passwd'; grant all on db1.* to......

派派菠菜
06/21
0
0
mysql数据库误删除后的数据恢复操作说明

mysql数据库误删除后的数据恢复操作说明 在日常运维工作中,对于数据库的备份是至关重要的!数据库对于网站的重要性使得我们对 MySQL 数据库的管理不容有失!然而是人总难免会犯错误,说不定...

MQ_douer
2017/06/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

防盗链配置 通过限制referer来实现防盗链的功能 配置前,使用curl -e 指定referer [root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg......

野雪球
28分钟前
1
0
RxJava threading

因为Rx针对异步系统设计,并且Rx也自然支持多线程,所以新的Rx开发人员有时会假设Rx默认是多线程的。在其他任何事情之前,重要的是澄清Rx默认是单线程的。 除非另有说明,否则每次调用onNex...

woshixin
28分钟前
0
0
Python的安装及文件类型、变量

一、为什么学习python 服务于大数据、人工智能、自动化运维。 简单易学 代码简洁 薪资高 近几年越来越火 二、Python的安装 linux 系统默认安装, CentOS7 默认安装了python2.7 安装ipython y...

枫叶云
36分钟前
0
0
JeeSite 4.x 树形结构的表设计和用法

有些同仁对于 JeeSite 4 中的树表设计不太了解,本应简单的方法就可实现,却写了很多复杂的语句和代码,所以有了这篇文章。 在 JeeSite 4 中的树表设计我还是相对满意的,这种设计比较容易理...

ThinkGem
42分钟前
21
0
0022-如何永久删除Kafka的Topic

1.问题描述 使用kafka-topics --delete命令删除topic时并没有真正的删除,而是把topic标记为:“marked for deletion”,导致重新创建相同名称的Topic时报错“already exists”。 2.问题复现...

Hadoop实操
44分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部