mysql数据库—权限设置

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

转载声明:转载请注明出处,本技术博客是本人原创文章

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> mysql数据库—权限设置

来源:超天大圣
cnblogs.com/dalaoban/p/9566995.html

权限管理


我们知道我们的最高权限管理者是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('新密码');
    
    5,查看mysql中的所有用户
    SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
    
    6,查看user表结构 需要具体的项可结合表结构来查询
     desc mysql.user;
    

    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备份命令行操作

    
    # 备份:数据表结构+数据
    mysqldump -u root db1  db1.sql -p
    
    
    # 备份:数据表结构
    mysqldump -u root -d db1  db1.sql -p
    
    #导入现有的数据到某个数据库
    #1.先创建一个新的数据库
    create database db10;
    # 2.将已有的数据库文件导入到db10数据库中
    mysql -u root db10  db1.sql -p
    
    mysql数据库—权限设置
    本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

    转载声明:转载请注明出处,本技术博客是本人原创文章

    本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

    原文链接:blog.ouyangsihai.cn >> mysql数据库—权限设置


     上一篇
    MySQL 大表优化方案 MySQL 大表优化方案
    当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化。 ****单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在 千万级以下,字符
    下一篇 
    数据库的三大范式详解 数据库的三大范式详解
    来源:小明快点跑cnblogs.com/xiaoming0601/p/5869535.html cnblogs.com/xiaoming0601/p/5869535.html 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的