MySQl创建用户和授权

Posted 混元天尊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQl创建用户和授权相关的知识,希望对你有一定的参考价值。

 

权限管理

我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、update、grant等操作。那么一般情况在公司之后DBA工程师会创建一个用户和密码,让你去连接数据库的操作,并给当前的用户设置某个操作的权限(或者所有权限)。那么这时就需要我们来简单了解一下:

  • 如何创建用户和密码
  • 给当前的用户授权
  • 移除当前用户的权限

如果你想创建一个新的用户,则需要以下操作:


1.进入到mysql数据库下

mysql> use mysql
Database changed

2.对新用户增删改

1.创建用户:
# 指定ip:192.118.1.1的mjj用户登录
create user mjj@192.118.1.1 identified by 123;
# 指定ip:192.118.1.开头的mjj用户登录
create user mjj@192.118.1.% identified by 123;
# 指定任何ip的mjj用户登录
create user mjj@% identified by 123;

2.删除用户
drop user 用户名@IP地址;


3.修改用户
rename user 用户名@IP地址 to 新用户名@IP地址;

4.修改密码
set password for 用户名@IP地址=Password(新密码);

 

3.对当前的用户授权管理

#查看权限
show grants for 用户@IP地址

#授权 mjj用户仅对db1.t1文件有查询、插入和更新的操作
grant select ,insert,update on db1.t1 to "mjj"@%;

# 表示有所有的权限,除了grant这个命令,这个命令是root才有的。mjj用户对db1下的t1文件有任意操作
grant all privileges  on db1.t1 to "mjj"@%;
#mjj用户对db1数据库中的文件执行任何操作
grant all privileges  on db1.* to "mjj"@‘%‘;
#mjj用户对所有数据库中文件有任何操作
grant all privileges  on *.*  to "mjj"@‘%‘;
 
#取消权限
 
# 取消mjj用户对db1的t1文件的任意操作
revoke all on db1.t1 from ‘mjj‘@"%";  

# 取消来自远程服务器的mjj用户对数据库db1的所有表的所有权限

revoke all on db1.* from ‘mjj‘@"%";  

取消来自远程服务器的mjj用户所有数据库的所有的表的权限 revoke all privileges on *.* from mjj@%;

ps:在公司中,一般情况下是DBA工程师来做这些授权工作。给你一个用户名和密码,你来连接就可以了。

 

 

4.MySql备份命令行操作

# 备份:数据表结构+数据
mysqdump -u root db1 > db1.sql -p


# 备份:数据表结构
mysqdump -u root -d db1 > db1.sql -p

#导入现有的数据到某个数据库
#1.先创建一个新的数据库
create database db10;
# 2.将已有的数据库文件导入到db10数据库中
mysqdump -u root -d db10 < db1.sql -p

 

以上是关于MySQl创建用户和授权的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 创建用户授权允许客户端远程登录命令

MySQL 创建用户授权允许客户端远程登录命令

如何给MySql创建连接用户并授权

MySQl创建用户和授权

MySQl创建用户和授权

MySQL创建用户和授权