MySQL的学习--用户创建授权,mysql--用户授权

mysql创建新用户相关语句

MySQL的学习--用户创建授权,mysql--用户授权

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

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

 

1. 创建用户

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

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

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

首先以 root权限登录 

2. 创建查看数据库

show databases;//显示数据库

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

use dbname;//进入数据库

show tables;//显示表

desc tablename;//显示表结构

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

创建用户 

3. 用户授权

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

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

Sql代码  

4. 刷新授权

flush privileges;

create user username identified by 'password';  

5. 删除用户和撤销权限

drop user [email protected];//取消一个账户和其权限

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

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

  www.2cto.com  

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;//把字段修改到指定字段之后

 

 

MySQL怎授权一个自己的创建的用户比如daitest创建新数据库的权利?命令

慢慢看吧
mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为:
grant 权限 on 数据库对象 to 用户
一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
grant select on testdb.* to [email protected]’%’
grant insert on testdb.* to [email protected]’%’
grant update on testdb.* to [email protected]’%’
grant delete on testdb.* to [email protected]’%’
或者,用一条 mysql 命令来替代:
grant select, insert, update, delete on testdb.* to [email protected]’%’

二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。
grant 创建、修改、删除 mysql 数据表结构权限。
grant create on testdb.* to [email protected]’192.168.0.%’;
grant alter on testdb.* to [email protected]’192.168.0.%’;
grant drop on testdb.* to [email protected]’192.168.0.%’;
grant 操作 mysql 外键权限。
grant references on testdb.* to [email protected]’192.168.0.%’;
grant 操作 mysql 临时表权限。
grant create temporary tables on testdb.* to [email protected]’192.168.0.%’;
grant 操作 mysql 索引权限。
grant index on testdb.* to [email protected]’192.168.0.%’;
grant 操作 mysql 视图、查看视图源代码 权限。
grant create view on testdb.* to [email protected]’192.168.0.%’;
grant show view on testdb.* to [email protected]’192.168.0.%’;
grant 操作 mysql 存储过程、函数 权限。
grant create routine on testdb.* to [email protected]’192.168.0.%’;

  • now, can show procedure status
    grant alter routine on testdb.* to [email protected]’192.168.0.%’;
  • now, you can drop a procedure
    grant execute on testdb.* to [email protected]’192.168.0.%’;

三、grant 普通 dba 管理某个 mysql 数据库的权限。
grant all privileges on testdb to [email protected]’localhost’
其中,关键字 “privileges” 可以省略。

四、grant 高级 dba 管理 mysql 中所有数据库的权限。
grant......余下全文>>  

Sql代码  

mysql 一个账户可以授权几个ip

使用以下授权语句,将授权指定的192.168.1.1 和192.168.1.2 的机器,使用用户名为root,密码为test123的用户访问
grant all privileges on *.* to 'root'@'192.168.1.1' identified by 'test123';
grant all privileges on *.* to 'root'@'192.168.1.2' identified by 'test123';  

前一段时间,将项目改成SAAS的架构,每个billing account都可以获得一个子域,一个单独的数据库,...

create user [email protected] identified by 'password';  

 

限定登录主机 

 

给新用户授权 

Sql代码  

grant privileges on database.table to [email protected] identified by "password"  

 

   select, insert, update, delete, all 

 

通过这种方法,对数据库的修改立即写入内存,即时生效,无须重启服务器 

本文由太阳集团所有网址16877发布于太阳集团城网址送彩金,转载请注明出处:MySQL的学习--用户创建授权,mysql--用户授权

您可能还会对下面的文章感兴趣: