程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL的學習--用戶創建授權,mysql--用戶授權

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設為%。

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

 


MySQL怎授權一個自己的創建的用戶比如daitest創建新數據庫的權利?命令

慢慢看吧
mysql中可以給你一個用戶授予如select,insert,update,delete等其中的一個或者多個權限,主要使用grant命令,用法格式為:
grant 權限 on 數據庫對象 to 用戶
一、grant 普通數據用戶,查詢、插入、更新、刪除 數據庫中所有表數據的權利。
grant select on testdb.* to common_user@’%’
grant insert on testdb.* to common_user@’%’
grant update on testdb.* to common_user@’%’
grant delete on testdb.* to common_user@’%’
或者,用一條 mysql 命令來替代:
grant select, insert, update, delete on testdb.* to common_user@’%’

二、grant 數據庫開發人員,創建表、索引、視圖、存儲過程、函數。。。等權限。
grant 創建、修改、刪除 mysql 數據表結構權限。
grant create on testdb.* to developer@’192.168.0.%’;
grant alter on testdb.* to developer@’192.168.0.%’;
grant drop on testdb.* to developer@’192.168.0.%’;
grant 操作 mysql 外鍵權限。
grant references on testdb.* to developer@’192.168.0.%’;
grant 操作 mysql 臨時表權限。
grant create temporary tables on testdb.* to developer@’192.168.0.%’;
grant 操作 mysql 索引權限。
grant index on testdb.* to developer@’192.168.0.%’;
grant 操作 mysql 視圖、查看視圖源代碼 權限。
grant create view on testdb.* to developer@’192.168.0.%’;
grant show view on testdb.* to developer@’192.168.0.%’;
grant 操作 mysql 存儲過程、函數 權限。
grant create routine on testdb.* to developer@’192.168.0.%’; - now, can show procedure status
grant alter routine on testdb.* to developer@’192.168.0.%’; - now, you can drop a procedure
grant execute on testdb.* to developer@’192.168.0.%’;

三、grant 普通 dba 管理某個 mysql 數據庫的權限。
grant all privileges on testdb to dba@’localhost’
其中,關鍵字 “privileges” 可以省略。

四、grant 高級 dba 管理 mysql 中所有數據庫的權限。
grant......余下全文>>
 

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';
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved