mysql數據庫如何添加用戶,mysql數據庫如何添加用戶信息

本文目錄一覽:

如何給mysql數據庫添加一個用戶

首先以root身份登錄到MySQL服務器中。

$ mysql -u root -p

當驗證提示出現的時候,輸入MySQL的root帳號的密碼。

創建一個MySQL用戶

使用如下命令創建一個用戶名和密碼分別為”myuser”和”mypassword”的用戶。

mysql CREATE USER ‘myuser’@’localhost’ IDENTIFIED BY ‘mypassword’;

一旦用戶被創建後,包括加密的密碼、權限和資源限制在內的所有帳號細節都會被存儲在一個名為user的表中,這個表則存在於mysql這個特殊的數據庫里。

運行下列命令,驗證帳號是否創建成功

mysql SELECT host, user, password FROM mysql.user WHERE user=’myuser’;

賦予MySQL用戶權限

一個新建的MySQL用戶沒有任何訪問權限,這就意味着你不能在MySQL數據庫中進行任何操作。你得賦予用戶必要的權限。以下是一些可用的權限:

ALL: 所有可用的權限

CREATE: 創建庫、表和索引

LOCK_TABLES: 鎖定表

ALTER: 修改表

DELETE: 刪除表

INSERT: 插入表或列

SELECT: 檢索表或列的數據

CREATE_VIEW: 創建視圖

SHOW_DATABASES: 列出數據庫

DROP: 刪除庫、表和視圖

運行以下命令賦予”myuser”用戶特定權限。

mysql GRANT privileges ON database.table TO ‘myuser’@’localhost’;

以上命令中,privileges 代表着用逗號分隔的權限列表。如果你想要將權限賦予任意數據庫(或表),那麼使用星號(*)來代替數據庫(或表)的名字。

例如,為所有數據庫/表賦予 CREATE 和 INSERT 權限:

mysql GRANT CREATE, INSERT ON *.* TO ‘myuser’@’localhost’;

驗證給用戶賦予的全權限:

mysql SHOW GRANTS FOR ‘myuser’@’localhost’;

將全部的權限賦予所有數據庫/表:

mysql GRANT ALL ON *.* TO ‘myuser’@’localhost’;

你也可以將用戶現有的權限刪除。使用以下命令廢除”myuser”帳號的現有權限:

mysql REVOKE privileges ON database.table FROM ‘myuser’@’localhost’;

為用戶添加資源限制

在MySQL中,你可以為單獨的用戶設置MySQL的資源使用限制。可用的資源限制如下:

MAX_QUERIES_PER_HOUR: 允許的每小時最大請求數量

MAX_UPDATES_PER_HOUR: 允許的每小時最大更新數量

MAX_CONNECTIONS_PER_HOUR: 允許的每小時最大連接(LCTT譯註:其與 MySQL全局變量: max_user_connections 共同決定用戶到數據庫的同時連接數量)數量

MAX_USER_CONNECTIONS: 對服務器的同時連接量

使用以下命令為”myuser”帳號增加一個資源限制:

mysql GRANT USAGE ON database.table TO ‘myuser’@’localhost’ WITH resource-limits;

在 resource-limits 中你可以指定多個使用空格分隔開的資源限制。

例如,增加 MAXQUERIESPERHOUR 和 MAXCONNECTIONSPERHOUR 資源限制:

mysql GRANT USAGE ON *.* TO ‘myuser’@’localhost’ WITH MAX_QUERIES_PER_HOUR 30 MAX_CONNECTIONS_PER_HOUR 6;

驗證用戶的資源限制:

mysql SHOW GRANTS FOR ‘myuser’@’localhost;

創建和設置一個MySQL用戶最後的一個重要步驟:

mysql FLUSH PRIVILEGES;

如此一來更改便生效了。現在MySQL用戶帳號就可以使用了。

mysql怎樣增加用戶

mysql怎樣增加用戶

格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by “密碼”

例1、增加一個用戶test1密碼為abc,讓他可以在任何主機上登錄,並對所有數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入MYSQL,然後鍵入以下命令:

mysqlgrant select,insert,update,delete on *.* to test1@”%” Identified by “abc”;

但例1增加的用戶是十分危險的,你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一台電腦上登錄你的mysql數據庫並對你的數據可以為所欲為了,解決辦法見例2。

例2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,並可以對數據庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL數據庫所在的那台主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數據庫,只能通過MYSQL主機上的web頁來訪問了。

mysqlgrant select,insert,update,delete on mydb.* to test2@localhost identified by “abc”;

如果你不想test2有密碼,可以再打一個命令將密碼消掉。

mysqlgrant select,insert,update,delete on mydb.* to test2@localhost identified by “”;

另外,也可以通過直接往user表中插入新紀錄的方式來實現。

mysql如何創建新用戶,例如創建一個sss 密碼為123的用戶

1、登錄:mysql -u root -p

2、查看現有用戶,select host,user,authentication_string from mysql.user;

3、新建用戶,create user “sss”@”host” identified by “123”;

4、再次查看用戶列表,可以看到sss用戶已創建,select host,user,authentication_string from mysql.user;

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/249919.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 17:14
下一篇 2024-12-12 17:14

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • Python中接收用戶的輸入

    Python中接收用戶的輸入是一個常見的任務,可以通過多種方式來實現。本文將從以下幾個方面對Python中接收用戶的輸入做詳細闡述。 一、使用input函數接收用戶輸入 Pytho…

    編程 2025-04-29
  • Python彈框讓用戶輸入

    本文將從多個方面對Python彈框讓用戶輸入進行闡述,並給出相應的代碼示例。 一、Tkinter彈窗 Tkinter是Python自帶的圖形用戶界面(GUI)庫,通過它可以創建各種…

    編程 2025-04-28
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28

發表回復

登錄後才能評論