mysql数据库没有导出权限_MySQL必知必会---探索mysql及实例探析:mysql安全与权限管理、导入-导出数据库...

实践应用篇

用户管理

增加用户:create user 新用户名 IDENTIFIED By ‘密码’;

删除用户:drop user 用户名;

账户重命名:rename user 旧名 to 新名;

权限管理——GRANT和REVOKE命令

全局层级——适用于一个给定服务器中的所有数据库。这些权限存储在表mysql.user中。

数据库层级——此权限适用于一个给定数据库中的所有目标。这些权限存储在mysql.db和mysql.host表中。

表层级——适用于一个给定表中的所有列。这些权限存储在mysql.tables_priv表中。

列层级——适用于一个给定表中的单一列。这些权限存储在mysql.columns_priv表中。

下面,创建一个管理员,以此来讲解这两个命令的用法:

grant all

on *

to mr identified by 'mr'

with grant option;

以上命令创建一个名为mr,密码为mr的用户,并授予他所有权限,切允许他向其他人授予某些权限。

如果不希望此用户在系统中存在,可以这样:

revoke all privileges,grant

from fred;

现在,创建一个,没有任何权限的常规用户mrsoft,并授密码为“magic123”。

grant ueage

on books.*

to mrsoft identified by 'magic123';

可以为用户mrsoft授予适当权限:

grant select,insert,update,delete,index,alter,create,drop

on book.*

to mrsoft;

对用户授权过程,不需要指定用户的密码。

如果认为用户mrsoft权限过高,可以这样:

revoke alter,create,drop

on books.*

from mrsoft;

当用户mrsoft不需要再使用数据库时,可撤销其所有权限:

revoke all

on books.*

from mrsoft;

上面是网上浏览较多的博主写的方法,但是不知道为什么,我写出来后运行不了,一直报错,我再提供一种方法吧:

//创建新用户

grant usage on *.* to '用户名' @'localhost' identified by '密码' with grant option;

//授权

grant 权限(如:select,insert,delete,create,drop) on 表名 .* to '用户名' @'localhost' identified by '密码';

//权限生效

flush privileges; (刷新)

代码中的localhost是代表“主机”,若是表示“全部电脑”,可用:%

权限何时生效——修改后一定要刷新!

有3种方式:1.flush privileges;

2.mysqladmin flush-privileges (cmd中运行)

3.mysqladmin reload (cmd中运行)

用户密码问题

1.cmd中指定——mysqladmin -u user_name -h host_name password ‘newpwd’;

2.set password for ‘jeffrey’@’%’ =password(‘biscuit’);

jeddrey——匿名用户连接,若不是,则for语句可省去;

3.更改已有账户密码:update user set password=password(‘新密码’);

提示:1.操作完成后一定要刷新权限

2.当使用set password,insert或update指定账户密码时,必须用password()函数加密

如何导入、导出数据库?

window下:

1.导出整个数据库

mysqldump -u 用户名 -p 数据库名 > 导出的文件名

mysqldump -u dbuser -p dbname > dbname.sql

2.导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u dbuser -p dbname users> dbname_users.sql

3.导出一个数据库结构

mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql

-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

4.导入数据库

常用source 命令

进入mysql数据库控制台,如

mysql -u root -p

mysql>use 数据库

然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

mysql>source d:/dbname.sql

linux下:

一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):

1、导出数据和表结构:

mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql

#/usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql

敲回车后会提示输入密码

2、只导出表结构

mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql

#/usr/local/mysql/bin/ mysqldump -uroot -p -d abc > abc.sql

注:/usr/local/mysql/bin/ —> mysql的data目录

二、导入数据库

1、首先建空数据库

mysql>create database abc;

2、导入数据库

方法一:

(1)选择数据库

mysql>use abc;

(2)设置数据库编码

mysql>set names utf8;

(3)导入数据(注意sql文件的路径)

mysql>source /home/abc/abc.sql;

方法二:

mysql -u用户名 -p密码 数据库名 < 数据库名.sql

#mysql -uabc_f -p abc < abc.sql

本文同步分享在 博客“行舟客”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值