zoukankan      html  css  js  c++  java
  • MySQL的学习--用户创建授权

    前一段时间,将项目改成SAAS的架构,每个billing account都可以获得一个子域,一个单独的数据库,一个单独的数据库用户和对应数据库的权限。

    现在有时间了,将数据库相关的命令用博客备份一下。其中有些没有尝试过,如有错误请指正。

    1. 创建用户

    create user username@'host' identified by 'password';

    insert into mysql.user(Host,User,Password) values("host", "username", password("password"));

    如果希望指定的用户只能从某台指定的域(domain)或主机访问,可以在创建用户时指定host,例如10.10.10.22,如果希望能够从本地登录,可以将host设成localhost,如果希望在个台机器上都能链接,可以将host设为%。

    2. 创建查看数据库

    show databases;//显示数据库

    create database dbname; //创建一个数据库

    use dbname;//进入数据库

    show tables;//显示表

    desc tablename;//显示表结构

    source sql/file/path;导入sql文件

    3. 用户授权

    grant all privileges on dbname.* to username@'%' identified by 'password';//授权username用户拥有dbname数据库的所有权限

    grant select, update on dbname.* to username@'%' identified by 'password';//授权username用户拥有dbname数据库的指定部分权限

    4. 刷新授权

    flush privileges;

    5. 删除用户和撤销权限

    drop user username@host;//取消一个账户和其权限

    revoke privilege on dbname.tablename FROM 'username'@'host';//取消授权用户

    delete from user where user = "username" and host = "host";//删除用户

    6. 修改用户密码

    mysqladmin -uroot -proot password 123;//将root用户的密码改为123

    update mysql.user set password=password('新密码') where user="username" and host="localhost";

    set password for 'username'@'host' = password('newpassword');

    7. 删除数据库

    drop database dbname;//删除一个已经确定存在的数据库

    alter table 表名 ENGINE=存储引擎名;//修改表的存储引擎

    alter table 表名 drop 属性名;//删除字段

    alter table 旧表名 rename to 新表名;//修改表名

    alter table 表名 modify 属性名 数据类型;//修改字段数据类型

    alter table 表名 change 旧属性名 新属性名 新数据类型;//修改字段名

    alter table 表名 drop FOREING KEY 外键别名;//删除子表外键约束

    alter table example add phone VARCHAR(20);//增加无约束的字段

    alter table example add age INT(4) NOT NULL;//增加有约束的字段

    alter table example add num INT(8) PRIMARY KEY FIRST;//表的第一个位置增加字段

    alter table example add address VARCHAR(30) NOT NULL AFTER phone;//表的指定位置之后增加字段

    alter table example modify name VARCHAR(20) FIRST;//把字段修改到第一位

    alter table example modify num INT(8) ATER phone;//把字段修改到指定字段之后

  • 相关阅读:
    Python 不同数据类型比较
    计算机外语收集
    d3.js学习-联系力学图
    d3.js学习11
    d3.js学习10
    d3.js学习9
    d3.js学习8
    [springboot jpa] [bug] Could not open JPA EntityManager for transaction
    [spring cloud feign] [bug] 使用对象传输get请求参数
    [ethereum源码分析](5) 创建新账号
  • 原文地址:https://www.cnblogs.com/CraryPrimitiveMan/p/4022871.html
Copyright © 2011-2022 走看看