1. 程式人生 > >Linux mysql新增使用者,刪除使用者,以及使用者許可權

Linux mysql新增使用者,刪除使用者,以及使用者許可權

荊軻刺秦王

一些主要命令:

登陸:

mysql -u username -p                       一般都是:mysql -u root -p         也可以:mysql -uroot -p

顯示全部的資料庫:

show databases;

使用某一個數據庫:

use databasename;                        注意:一般對於某個資料庫的操作,要基於這個資料庫操作

MySQL [(none)]> use test_db
Database changed
MySQL [test_db]>操作.......

顯示一個數據庫的全部表:

show tables;

show可以看到很多東西:

show create database dbname;     //這個可以看到建立資料庫時用到的一些引數;

show create table tablename;     //這個可以看到建立表時用到的一些引數;

退出:

quit;

刪除資料庫和資料表:

mysql>drop database 資料庫名;

mysql>drop table 資料表名;

使用者相關:

檢視所有使用者:

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

注意:在Mysql中其實有一個內建且名為mysql的資料庫,這個資料庫中儲存的是Mysql的一些資料,比如使用者、許可權資訊、儲存過程等,所以呢,我們可以通過上面的查詢語句來顯示所有的使用者,就像這樣:

+------------------------------------+
| query                              |
+------------------------------------+
| User: 'root'@'127.0.0.1';          |
| User: 'mysql.session'@'localhost'; |
| User: 'mysql.sys'@'localhost';     |
| User: 'root'@'localhost';          |
+------------------------------------+
4 rows in set (0.01 sec)

注意:因為我加了 DISTINCT 所以去除了重複的資料,所以我們可以使用上面的命令顯示所有你的Mysql的使用者而忽略那些僅僅是主機名不同的使用者。

我的裡面只有一個 root 使用者,如果你想增加或減少一些列的顯示,那麼你只需要編輯這條sql語句即可,比如你只需要顯示使用者的使用者名稱,那麼你就可以這樣使用SELECT User FROM mysql.user;,就是這樣了,是吧,就用這種方法就可以獲得所有使用者了呢。微笑。

新建使用者:

CREATE USER 'admin'@'localhost'IDENTIFIED BY 'admin'

MySQL [(none)]> CREATE USER 'admin'@'localhost' IDENTIFIED BY 'admin';
Query OK, 0 rows affected (0.01 sec)

為使用者授權:

格式:

grant 許可權 on 資料庫.* to [email protected]登入主機 identified by "password"; 例子: 我這裡只有一個test_db資料庫! grant all privileges on test_db.* to [email protected] identified by 'admin';     MySQL [(none)]> grant all privileges on test_db.* to [email protected] identified by 'admin';
    Query OK, 0 rows affected, 2 warnings (0.01 sec)
然後需要執行重新整理許可權的命令: flush privileges;

    MySQL [(none)]> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

這個時候牽扯到一個問題:如何檢視使用者許可權?來確認我是否已經修改成功了呢?

MySQL檢視使用者許可權命令的兩種方法:

一:使用MySQL grants

命令:show grants for [email protected];

MySQL [(none)]> show grants for [email protected];                                +-----------------------------------------------------------+
| Grants for [email protected]                                |
+-----------------------------------------------------------+
| GRANT USAGE ON *.* TO 'admin'@'localhost'                 |
| GRANT ALL PRIVILEGES ON `testDB`.* TO 'admin'@'localhost' |
+-----------------------------------------------------------+
2 rows in set (0.00 sec)

二:直接通過MySQL select查詢語句

注:這裡用到的還是上文說的 mysql.user 表

命令:select*from mysql.user where user='username'and host='localhost(根據自己情況)'\G;

MySQL [(none)]> select * from mysql.user where user='admin' and host='localhost' \G;
*************************** 1. row ***************************
                  Host: localhost
                  User: admin
           Select_priv: N
           Insert_priv: N
           Update_priv: N
           Delete_priv: N
           Create_priv: N
             Drop_priv: N
           Reload_priv: N
         Shutdown_priv: N
          Process_priv: N
             File_priv: N
            Grant_priv: N
       References_priv: N
            Index_priv: N
            Alter_priv: N
          Show_db_priv: N
            Super_priv: N
 Create_tmp_table_priv: N
      Lock_tables_priv: N
          Execute_priv: N
       Repl_slave_priv: N
      Repl_client_priv: N
      Create_view_priv: N
        Show_view_priv: N
   Create_routine_priv: N
    Alter_routine_priv: N
      Create_user_priv: N
            Event_priv: N
          Trigger_priv: N
Create_tablespace_priv: N
              ssl_type:
            ssl_cipher:
           x509_issuer:
          x509_subject:
         max_questions: 0
           max_updates: 0
       max_connections: 0
  max_user_connections: 0
                plugin: mysql_native_password
 authentication_string: *4ACFE3202A5FF5CF467898FC58AAB1D615029441
      password_expired: N
 password_last_changed: 2017-12-22 16:35:52
     password_lifetime: NULL
        account_locked: N
1 row in set (0.00 sec)

可以看到Select_priv,Insert_priv,Update_priv...等為N表示沒有許可權,該使用者許可權一目瞭然。

繼續咱們的為使用者授予許可權,現在我們為使用者授予部分許可權:

mysql>grant select,insert,update,delete,create,drop on test_db.user to admin@10.163.225.87 identified by ‘123′;

給來自10.163.225.87的使用者admin分配可對資料庫test_db的user表進行select,insert,update,delete,create,drop等操作的許可權,並設定口令為123。

mysql>grant all privileges on test_db.* to admin@10.10.10.87 identified by ‘123′;

給來自10.163.225.87的使用者admin分配可對資料庫test_db所有表進行所有操作的許可權,並設定口令為123。

mysql>grant all privileges on *.* to admin@10.10.10.87 identified by ‘123′;

給來自10.163.225.87的使用者admin分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123

mysql>grant all privileges on *.* to admin@localhost identified by ‘123′;

給本機使用者admin分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。

刪除使用者:

@>mysql -u root -p

  @>密碼

  mysql>DELETE FROM mysql.user WHERE User="admin"

  mysql>flush privileges;

  //刪除使用者的資料庫

  mysql>drop database test_db;


修改指定使用者密碼:

  @>mysql -u root -p

  @>密碼

  mysql>update mysql.user set password=password('新密碼')  where User=”jeecn” and Host="localhost";

  mysql>flush privileges;

 mysql>quit;


相關推薦

Linux mysql新增使用者刪除使用者以及使用者許可權

荊軻刺秦王 一些主要命令: 登陸: mysql -u username -p                       一般都是:mysql -u root -p         也可以:mysql

linux 資料庫操作新增資料庫刪除資料庫sql檔案匯入匯出

匯入sql檔案需要先將sql上傳至伺服器,故連線上xshell後,cd進入到根目錄,再cd進入www(目錄隨意,只要記得自己的sql檔案是匯入到哪個資料夾就可以了) 執行 rz 選擇本地資料庫檔案(rz 是安裝的上傳工具包,具體請移步另外一篇部落格可檢視安裝使用命令),

linux mysql增加使用者刪除使用者以及使用者許可權

一些基本的命令: 登入: mysql -u username -p 顯示所有的資料庫: show databases; 使用某一個數據庫: use databasename; 顯示一個數據庫的所有表: show tables; 退出: quit; 刪除資料庫和資料表 mys

MySQL學習之:使用者管理(新增使用者刪除使用者新增許可權檢視許可權密碼等)

什麼是規劃? 資料庫物件與資料庫使用者賬戶的相關聯 1. 新建用於規劃 CREATE SCHEMA [SCHEMA_NAME] [USER_ID] [ ]; 2. 刪除規劃 DROP SCHEMA SCHEMA_NAME {RESTRICT | CASCADE} 3. 調整

python中的列表新增元素獲取元素刪除元素列表分片常用操作符

一.  建立列表,分為建立普通列表,混合列表,和空列表。其中混合列表是指string,int, float等都可以寫在同一個列表裡,空列表是指列表可以為空 二.    在列表新增成員方法          

使用js實現新增刪除表格並將表格內容批量插入資料庫。

點選新增增加一行,有刪除操作,點選儲存將表格內容插入資料庫。 html 頁面和js如下: 測試記錄 <table id="mytable"> <thead> <tr align="center"> <td widt

linux上檢視使用者刪除使用者檢視使用者許可權

檢視使用者: use mysql;select user,host,password from mysql.user; 檢視使用者許可權 show grants for 使用者名稱@'host';   刪除使用者 use mysql;Delete FROM user Where Use

mysql.sock檔案被刪除如何本地登入mysql

socket檔案消失後,本地登入mysql會報以下錯誤: [[email protected] mysql]$ mysql -uroot -p Enter password:  ERROR

當資料變化時(新增修改刪除使用vuex實現頁面重新整理

專案情景如圖:  1.這是一個普通的查詢頁面,資料顯示在表格中,點選查詢,根據選項進行匹配查詢。 2.點選新增、修改、刪除操作,成功後會返回查詢頁面,並重新整理查詢結果。 使用vuex進行重新整理操作: 1.新建vuex檔案,   vuex.js const b

IOS 給Label新增下劃線刪除不同的顏色和大小

在iOS開發中,常常會有一段文字顯示不同的顏色和字型,或者給某幾個文字加刪除線或下劃線的需求。之前在網上找了一些資料,有的是重繪UILabel的textLayer,有的是用html5實現的,都比較麻煩,而且很多UILabel的屬性也不起作用了,效果都不理想。後來瞭解到NS

mysql 新增外來鍵約束時提示語法錯誤

對於mysql新增外來鍵約束時,提示語法錯誤的很令人抓狂,這裡我將我遇到的情況分享一下,因為截至發稿,好像還見有人遇過 首先我們要確認一下新增外來鍵約束格式 ALTER TABLE 從表名 ADD CONSTRAINT 外來鍵名 FOREIGN KEY (從表外來鍵)

MYSQL的建立使用者授權使用者刪除使用者檢視使用者

1.檢視使用者 2.建立使用者 3.授權使用者 4.刪除使用者 5.設定與更改使用者密碼 6.撤銷使用者許可權 1.檢視使用者 檢視使用者並沒有直接的SQL語句,而是進入 mysql資料庫的user

sql添加列刪除修改列

數據庫 str alter 代碼 div lena lte eight 設計器 有時候,當數據庫裏面有數據了,再到設計器裏面刪除列,就刪不掉。只能用代碼刪除。 alter table tableName drop column columnName 添加列

linux mysql添加、刪除用戶、用戶權限及mysql最大字段數量

cat eight use 刪除數據庫 pda 主機 ide from 多個 1. 登錄: mysql -u username -p 顯示全部的數據庫: show databases; 使用某一個數據庫: use databasename; 顯示一個數據庫的全

MongoDB索引管理——創建索引查看索引刪除索引重建索引

大小 exsi ngs 索引 mongodb reat 新建 mon 集合 先給users集合插入兩條記錄,然後用users集合來進行索引管理的演示: > user1={"name":"liming","age":20,"gender":"F"} { "name" :

實例:表格的相關操作:添加行刪除編輯單元格

solid att align button 點擊 btn eat create lur html代碼: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti

git分支管理(建立分支分支間轉換檢視分支合併分支刪除分支分支衝突)

分支(branch)這玩意兒我也不知道該怎麼解釋,就按照自己的理解來吧~ 在你第一次commit的時候,git會自動建立一個master分支(當然前提是你沒有在這之前就轉換到另一個分支上),這就是主線。有的時候,會想對倉庫進行某些操作,但是我們又不想影響到倉庫當前的狀態,這個時候就可以建立一

angular (全選全不選刪除批量刪除)案例

<!DOCTYPE html> <html> <head> <meta charset="utf-8" />

redis 全局命令 查看所有的鍵刪除檢查鍵是否存在獲取過期時間鍵的數據結構類型

== exp table 結果 全局 ble str borde edi redis有5中數據結構,他們是鍵值對中的值,對於鍵來說,有一些通用的命令: 一、查看所有鍵 keys * 二、獲取鍵總數:dbsize 三、檢查鍵是否存在