欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql命令行下用戶管理方法分享

 更新時間:2012年07月23日 00:50:45   作者:  
如果有mysql管理工具phpmyadmin的話,我們可以通過圖形畫界面來對用戶進行管理,但是如果沒有phpmyadmin這樣的管理工具怎么辦呢
mysql安裝后好,會有一個名字為mysql的數(shù)據(jù)庫,存放用戶的表是user,mysql數(shù)據(jù)庫的用戶管理就是圍繞這個表展開的,當(dāng)然還有一些表,例如:tables_priv,procs_priv,clumns_priv,information_schema數(shù)據(jù)庫里面的USER_PRIVILEGES等。

如果有mysql管理工具phpmyadmin的話,我們可以通過圖形畫界面來對用戶進行管理,但是如果沒有phpmyadmin這樣的管理工具怎么辦呢?這個時候,我們可以通過命令行執(zhí)行sql語句來管理mysql的用戶。

一,添加用戶

1,create user

語法:

CREATE USER user_specification
[, user_specification] ...

user_specification:
user [IDENTIFIED BY [PASSWORD] 'password']
實例:
復(fù)制代碼 代碼如下:

mysql> create user '44'@'127.0.0.1'; //創(chuàng)建一個44用戶
Query OK, 0 rows affected (0.00 sec)

mysql> create user '33'@'localhost' identified by 'aaaa'; //創(chuàng)建一個33用戶,密碼為aaaa
Query OK, 0 rows affected (0.00 sec)

mysql> select * from mysql.user where user='33' or user='44'\G; //查看一下mysql下的user

create user 雖然可以創(chuàng)建用戶,但是它只是創(chuàng)建用戶,并沒有給用戶分配置權(quán)限,所以一般被 grant命令所取代。

2,grant

語法:

GRANT
priv_type [(column_list)]
[, priv_type [(column_list)]] ...
ON [object_type] priv_level
TO user_specification [, user_specification] ...
[REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]
[WITH with_option ...]

object_type:
TABLE
| FUNCTION
| PROCEDURE

priv_level:
*
| *.*
| db_name.*
| db_name.tbl_name
| tbl_name
| db_name.routine_name

user_specification:
user [IDENTIFIED BY [PASSWORD] 'password']

ssl_option:
SSL
| X509 #要求x509證書
| CIPHER 'cipher' #加密算法
| ISSUER 'issuer' #證書發(fā)行商
| SUBJECT 'subject' #主題

with_option:
GRANT OPTION
| MAX_QUERIES_PER_HOUR count #每小時最多執(zhí)行多少條sql
| MAX_UPDATES_PER_HOUR count #每小時最多更新多少條數(shù)據(jù)
| MAX_CONNECTIONS_PER_HOUR count #每小時最大的聯(lián)接數(shù)是多少
| MAX_USER_CONNECTIONS count #最大用戶聯(lián)接數(shù)
不要被上面的語法嚇倒,其實理解什么意思,就很容易掌握。我是這樣理解的。

grant 權(quán)限 on 應(yīng)用范圍(數(shù)據(jù)庫表,方法等) to 用戶(用@隔開,前面是用戶名后面是主機名'用戶名'@'主機名') identified by 密碼 require 要求什么的 with 對用戶的進行的執(zhí)行sql的條數(shù)控制。

個人覺得,只要記得上面幾個紅色的關(guān)鍵詞,基本上這個命令就掌握了。
Privilege Meaning
ALL [PRIVILEGES] 所有權(quán)限
ALTER 可以使用alter table
ALTER ROUTINE 可以使用alter routine
CREATE 可以創(chuàng)建數(shù)據(jù)庫和表
CREATE ROUTINE 可以使用create routine
CREATE TEMPORARY TABLES 可以使用臨時表
CREATE USER 可以對用戶進添加,刪除,重命名,撤銷權(quán)限
CREATE VIEW 可以創(chuàng)建和修改視圖
DELETE 可以刪除數(shù)據(jù)
DROP 可能刪除數(shù)據(jù)庫,表,視圖等
EVENT 可以使用事件高度器
EXECUTE 可以執(zhí)行routine
FILE 可以在服務(wù)器讀寫文件
GRANT OPTION 用戶有權(quán)對自己添加的用衣授權(quán)
INDEX 可以創(chuàng)建,刪除索引
INSERT 可以插入
LOCK TABLES 可以鎖定表
PROCESS 可以使用SHOW PROCESSLIST來查看mysql當(dāng)前用戶的執(zhí)行sql情況
REFERENCES Not implemented
RELOAD 可以使用刷新功能
REPLICATION CLIENT 用戶可以進行主從同步
REPLICATION SLAVE 主從同步時,從服務(wù)器可以從主服務(wù)器讀取binary log
SELECT 可以查找
SHOW DATABASES 可以使用show databases來查看所有數(shù)據(jù)庫
SHOW VIEW 可以使用show view來查看視圖
SHUTDOWN 可以使用mysqladmin中的參數(shù)shutdown
SUPER Enable use of other adminstrative operations such as CHANGE MASTER TO, KILL, PURGE BINARY LOGS, SET GLOBAL, and mysqladmin debug command
TRIGGER 可以使用觸發(fā)器
UPDATE 可以進行理會新操作
USAGE 無特權(quán)

實例:
復(fù)制代碼 代碼如下:

grant all ON test.* TO 'test'@'localhost'; //test用戶擁有test數(shù)據(jù)庫下的所有操作
grant select,update on test.user to 'test'@'localhost'; //test用戶可以對test數(shù)據(jù)庫下user表,進行查找和更新操作
//test用戶的的密碼是111111,對user表中的name字段有讀取權(quán)限,對id,name有更新權(quán)限
grant select(name),update(id,name) on test.user to 'test'@'localhost' identified by '111111';
//test用戶對所有數(shù)據(jù)庫擁有所有權(quán)力,并且要求ssl加密
grant all privileges on *.* to 'test'@'%' identified by '123456' require ssl

當(dāng)添加完用戶后,別忘 了 flush privileges;

二,刪除用戶

語法:

DROP USER user [, user] ...
實例:
復(fù)制代碼 代碼如下:

drop user 'test2'@'localhost'; //當(dāng)用drop刪除用戶進,tables_priv,procs_priv等表中的數(shù)據(jù)也會被刪除

在這里為什么要用'test2'@'localhost'當(dāng)用戶名,而不是直接test2呢,因為mysql.user這張表,是根用戶名和host名決定一個用戶,你可查看一下表結(jié)構(gòu)就知道了。

show create table mysql.user\G;你會發(fā)現(xiàn)有這個東西PRIMARY KEY (`Host`,`User`),表示聯(lián)合主鍵

三,修改用戶

語法:

RENAME USER old_user TO new_user
[, old_user TO new_user] ...
實例:
復(fù)制代碼 代碼如下:

rename user 'test2'@'localhost' to 'test'@'%';

四,修改權(quán)限

語法:

REVOKE
priv_type [(column_list)]
[, priv_type [(column_list)]] ...
ON [object_type] priv_level
FROM user [, user] ...

REVOKE ALL PRIVILEGES, GRANT OPTION
FROM user [, user] ...
grant就給用戶分配權(quán)限,revoke是把權(quán)限從用戶的身上拿走。

實例:
復(fù)制代碼 代碼如下:

mysql> revoke update on *.* from 'tank'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> select mysql.user.update_priv from mysql.user where user='tank' and host='localhost';
+-------------+
| update_priv |
+-------------+

+-------------+
1 row in set (0.00 sec)

去掉tank@localhost這個用戶的更新功能,這個是去掉一個權(quán)限,如果我要全部去掉怎么辦呢,一個一個寫太麻煩了,看下面的一個例子
復(fù)制代碼 代碼如下:

mysql> revoke all privileges ,grant option from '33'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

用掉33@localhost這個用戶的所有權(quán)限

作者:海底蒼鷹

相關(guān)文章

  • mysql 雙向同步的鍵值沖突問題的解決方法分享

    mysql 雙向同步的鍵值沖突問題的解決方法分享

    多主互備和主從復(fù)制有一些區(qū)別,因為多主中都可以對服務(wù)器有寫權(quán)限,所以設(shè)計到自增長重復(fù)問題
    2011-09-09
  • mysql服務(wù)器無法啟動的解決方法

    mysql服務(wù)器無法啟動的解決方法

    本文主要介紹了mysql服務(wù)器無法啟動的解決方法,mysql服務(wù)器無法啟動時,一般時配置文件和路徑的問題,下面就來介紹一下解決方法,感興趣的可以了解一下
    2023-09-09
  • mysql 無法連接問題的定位和修復(fù)過程分享

    mysql 無法連接問題的定位和修復(fù)過程分享

    開發(fā)的一款網(wǎng)站防護產(chǎn)品中出現(xiàn)了一個客戶端上安裝后Mysql每隔一段時間就出現(xiàn)問題,這個問題是客戶反饋的,所以需要去復(fù)現(xiàn)和定位
    2013-03-03
  • mysql命令行還原phpMyAdmin導(dǎo)出的含有中文的SQL文件

    mysql命令行還原phpMyAdmin導(dǎo)出的含有中文的SQL文件

    最近得到了一個數(shù)十M的MySQL腳本文件,準(zhǔn)備還原為數(shù)據(jù)庫。
    2010-05-05
  • MySQL數(shù)據(jù)庫定時備份的實現(xiàn)方法

    MySQL數(shù)據(jù)庫定時備份的實現(xiàn)方法

    這篇文章主要介紹了MySQL數(shù)據(jù)庫的定時備份的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • MySQL的MaxIdleConns不合理,會變成短連接的原因

    MySQL的MaxIdleConns不合理,會變成短連接的原因

    這篇文章主要介紹了MySQL的MaxIdleConns不合理,會變成短連接的原因,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-01-01
  • Mysql索引類型與基本用法實例分析

    Mysql索引類型與基本用法實例分析

    這篇文章主要介紹了Mysql索引類型與基本用法,結(jié)合實例形式分析了Mysql索引類型中普通索引、唯一索引、主鍵索引、組合索引、全文索引基本概念、原理與使用方法,需要的朋友可以參考下
    2020-06-06
  • MySQL 分庫分表實踐

    MySQL 分庫分表實踐

    本文主要介紹了MySQL 分庫分表實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • node 多種方法連接mysql數(shù)據(jù)庫(最新推薦)

    node 多種方法連接mysql數(shù)據(jù)庫(最新推薦)

    mysql是一個流行的第三方模塊,可以通過npm安裝,在Node.js 中,有多種方法可以連接 MySQL 數(shù)據(jù)庫,本文通過實例代碼講解node 多種方法連接mysql數(shù)據(jù)庫的示例代碼,感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • 詳解MySql自連接,外連接,內(nèi)連接?,左連接,右連接

    詳解MySql自連接,外連接,內(nèi)連接?,左連接,右連接

    這篇文章主要介紹了詳解MySql自連接,外連接,內(nèi)連接?,左連接,右連接,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08

最新評論