• mysql 12章_MySQL数据库的高级管理


    一、    用户管理
    Root用户是MySQL数据库管理系统中的系统管理员,但在实际开发过程中通常需要根据不同的开发者分配不同的用户,这样有利于用户的管理和维护。
    1、    用户的创建:
      1)    方式1:使用MySQL提供的用户管理语句完成CREATE USER
    语法:
      Create user <用户名@主机名> identified by <初始密码>;
    说明:
      identified by用于指定用户的初始密码,系统会自动对密码进行加密处理,新创建的用户将被保存到mysql.user表中,密码采用加密后的暗文保存。
    举例:
      CREATE USER 'user_39'@'localhost' IDENTIFIED BY "123456";
      SELECT * FROM mysql.`user`;
      DROP user user_39;
      2)    方式2:通过使用insert into语句向MySQL.user表中添加记录,达到创建用户的目的。
      语法:
        Insert into。。。。。。
      说明:
        a)    有6个字段通常需要赋值:HOST、user、password、ssl_cipher、x509_issuer、x509_subject
        b)    不会自动对密码加密,需要时可以使用password()函数手动加密
        c)    用户创建后需要使用权限刷新语句FLUSH PRIVILEGES;才能被系统识别
      举例:
        -- 密码需要用加密函数
        INSERT INTO mysql.user(HOST,user,password,ssl_cipher,x509_issuer,x509_subject)
        VALUES('localhost','user_399',PASSWORD('123456'),'','','');
        -- 刷新权限
        FLUSH PRIVILEGES;
        -- 删除user_399
        DELETE FROM mysql.`user` WHERE HOST = 'localhost' AND user = 'user_399';
    2、    用户权限的授予:
    语法:
      Grant {权限列表 | all} ON {数据库名.数据库对象名列表 | *.*} to <用户名@主机名>[identified by 密码] [with grant option];
    说明:
      1)    All是所有权限的通配符,*是所有数据库和数据库对向的通配符。
      2)    使用grant也可以创建不存在的新用户,同时也完成授权。
      3)    with grant option若添加此项表示被授权的用户还可以将权限授予其他用户,前提是该用户具有grant的权限。
    举例:
      GRANT ALL ON myschool39.* TO 'user_39'@'localhost' WITH GRANT OPTION;
      GRANT ALL ON mysql.* TO 'user_39'@'localhost' WITH GRANT OPTION;
    
    
    3、    用户权限的回收:
    语法:
      revoke{权限列表 | all} ON {数据库名.数据库对象名列表 | *.*} from <用户名@主机名>;
    说明:当某个用户的权限被回收时,它授予出去的权限会不会被回收?
    举例:REVOKE ALL ON myschool39.* FROM 'user_39'@'localhost' ;
    4、 用户的修改:修改用户密码 语法:   Set password [for 用户名@主机名] = password(新密码); 说明:   1) for 用户名@主机名:指定给其他某个用户修改密码,不指定表示给当前用户修改密码。   2) passw()函数必须使用,否则无法完成修改。 举例:   1. SET password FOR 'user_39'@'localhost' = password('654321'); -- 给user_39修改密码   2. SET password = password('654321'); -- 给当前用户修改密码
    5、 删除用户 语法:drop user <用户名@主机名>;   举例: 二、 数据库的备份与恢复 为了防止意外发生,我们需要对数据库中的数据进行备份,一旦灾难来临时,可以使用备份的数据进行恢复。 MySQL提供了备份和恢复的命令,命令需要在DOS命令提示符下使用。
    1. 数据库的备份 语法1:备份单个数据库   C:>mysqldump -u 用户名 –p 密码 数据库名 数据表名 1 数据表名 2 > 路径及备份文件名.sql   语法2:备份多个数据库   C:>mysqldump -u 用户名 –p 密码 --databases 数据库名 数据表名 1 数据表名 2 > 路径及备份文件名.sql   语法3:备份全部数据库   C:>mysqldump -u 用户名 –p 密码 –-all-databases > 路径及备份文件名.sql 举例:   1) mysqldump –u root -proot myschool39 > d:db39.sql   2) mysqldump –u root -proot --databases myschool39 mysql > d:mutil.sql   3) mysqldump –u root -proot –-all-databases > d:all.sql 2. 数据库的恢复 语法1:恢复单个数据库   C:>mysqldump -u 用户名 –p密码 数据库名 < 路径及备份文件名.sql 语法2:恢复多个或全部数据库   C:>mysqldump -u 用户名 –p密码 < 路径及备份文件名.sql 举例:   1) mysqldump –u root -proot myschool39 < d:db39.sql   2) mysqldump –u root -proot < d:mutil.sql   3) mysqldump –u root -proot < d:all.sql
  • 相关阅读:
    redis数据结构
    django内置密码原理
    生成图片验证码
    如何封装VUE的axios请求
    杭电1717小数化分数2
    杭电2504 又见GCD
    杭电 2136 Largest prime factor(最大素数因子的位置)
    Linux终端的一些快捷键命令
    杭电 1772 cake
    杭电ACM 1713 相遇周期
  • 原文地址:https://www.cnblogs.com/zhangzimuzjq/p/11669920.html
Copyright © 2020-2023  润新知