MySQl创建用户和授权

权限管理

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

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

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

1.进入到mysql数据库下

mysql > use mysql
Database changed

2.对新用户增删改

创建用户:

1 . 创建用户:
# 指定ip : 192.118.1.1 的 heshun 用户登录
create user "heshun"@"192.118.1.1" identified by "123";

# 指定ip : 192.168.1.开头的用户的heshun用户登录
create user "heshun"@"192.168.1.%" identified by "123";

#指定任何ip 的heshun 用户登录
create user "heshun"@"%" identified by "123";

 

删除用户:

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

 

修改用户:

#修改用户
rename user "用户名"@"IP地址" to "新用户名"@"IP地址";

 

修改密码:

set password for "用户名"@"IP地址" = Password("新密码");

 

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

查看权限:

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

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


#表示所有的权限 , 除了grant 这个命令 , 这个命令是root才有的 , heshun用户对db1 下的t1文件有任意操作
grant all privilege on db1.t1 to "heshun"@"%";

#heshun 用户对db1 数据库中的文件执行任何操作
grant all privileges on db1.* to "heshun"@"%";

#heshun 用户对所有数据库中文化有任何操作
grant all privileges on *.* to "heshun"@%;

 

取消权限

 

# 取消heshun用户对db1 的 t1 文件的任意操作
revoke all on db1.t1 from "heshun"@"%";

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

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

 

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

 

4.MySql备份命令行操作

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


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


#导入现有的数据到某个数据库 
#1. 先创建一个新的数据库
create database db10;

#将已有的数据库文件导入到db10 数据库中 
mysqdump -uroot -d db10 < db1.sql -p

 

5.用户连接数据库

# 用户连接数据库
mysql -u"用户名" -h "IP地址" -P 端口 -p"密码"

 

posted @ 2018-10-13 17:46  heshun  阅读(260)  评论(0编辑  收藏  举报