mysql导出数据库无权限_数据库文件导入导出操作,以及赋予权限SQL语句

1、导出数据库xxxx和tlog(经过测试,没有问题)

# /data/mysql/bin/mysqldump -u root -ppassword qq9x | gzip > /home/xxxxDataBase.sql.gz

# /data/mysql/bin/mysqldump -u root -ppassword  tlog | gzip > /home/tlogDataBase.sql.gz

2、导出到本地文档

在SFTP下

#get -r /home/xxxxDataBase.sql.gz

#get -r /home/tlogDataBase.sql.gz

2、导入数据(路径是/home)

【直接执行上述导出的脚本,下面经过测试,没有问题,但是xxxxDataBase.sql这个脚本比较大,因此很耗费时间】

(有些文件需要use  database; 那么就需要选定database。因此有可能在qq9x这个database下执行sql脚本)

# /data/mysql/bin/mysql -u root -p--password=passwordqq9x < xxxxDataBase.sql

在tlog这个database下执行sql脚本

# /data/mysql/bin/mysql -u root -p--password=passwordtlog < tlogDataBase.sql

直接导入执行sql脚本(不需要database)

# /data/mysql/bin/mysql -u root -p--password=password< xxxx_create_db.sql

# /data/mysql/bin/mysql -u root -p--password=password< tlog.sql

4、grant select, insert, update, delete on testdb.orders to dba@localhost;

执行了这句语句之后,dba这个用户就拥有了对testdb(database)中的orders(table)这张表查询、插入、更新、删除这写操作的权利。

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

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

grant  all on *.* to   dba@localhost;

// 撤销权限

revoke  all  on  *.*  from  dba@localhost;

6、grant或者revoke之后,该用户只有重新连接MySQL数据库,权限才能生效。

如果想要授权的用户,也可以将这些权限grant给其他的用户,需要“grant option”

grant select on testdb.* to dba@localhost with grant option;

这句话执行完了之后的影响是: dba这个用户拥有了对testdb中所有表结构的查询的权利

这个特性一般用不到,实际上,数据库权限一般最好由DBA来统一管理。本条语句应该是在普通用户下执行的语句。所以才会实现这样的权利。

7、 删除mysql用户xxxx的SQL语句:

在root用户下执行: DELETE FROM mysql.user WHERE user = 'xxxx';

8、NoSQL数据库与关系型数据库设计理念比较:

关系型数据库中的表都是存储一些格式化的数据结构,每个元组字段的组成都一样,即使不是每个元组都需要所有的字段,但数据库会为每个元组分配所有的字段,这样的结构可以便于表与表之间进行连接等操作,但从另一个角度来说它也是关系型数据库性能瓶颈的一个因素。而非关系型数据库以键值对存储,它的结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值