成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何從命令行管理MySQL數據庫和用戶

數據庫 MySQL
本教程介紹了如何使用命令行來創建和管理MySQL或MariaDB數據庫和用戶。 MySQL是最受歡迎的開源關系數據庫管理系統。 MySQL服務器允許我們創建大量用戶和數據庫并授予適當的權限,以便用戶可以訪問和管理數據庫。

如何從命令行管理MySQL數據庫和用戶

本教程介紹了如何使用命令行來創建和管理MySQL或MariaDB數據庫和用戶。 MySQL是***的開源關系數據庫管理系統。 MySQL服務器允許我們創建大量用戶和數據庫并授予適當的權限,以便用戶可以訪問和管理數據庫。

在你開始之前

在開始本教程之前,我們假設您已經在系統上安裝了MySQL或MariaDB服務器。 所有命令將作為root用戶在MySQL提示符內執行。

要打開MySQL提示符,輸入以下命令并在提示時輸入MySQL root用戶密碼:

 

  1. mysql -u root -p 

創建一個新的MySQL數據庫

要創建新的MySQL或MariaDB數據庫,請運行以下命令,只需將database_name替換為要創建的數據庫的名稱即可:

 

  1. CREATE DATABASE database_name; 

輸出:

 

  1. Query OK, 1 row affected (0.00 sec) 

如果您嘗試創建一個已經存在的數據庫,您將看到以下錯誤消息:

 

  1. ERROR 1007 (HY000): Can't create database 'database_name'; database exists 

為避免出現錯誤,如果您嘗試創建的名稱相同的數據庫存在,則可以使用以下命令:

 

  1. CREATE DATABASE IF NOT EXISTS database_name; 

輸出:

 

  1. Query OK, 1 row affected, 1 warning (0.00 sec) 

在上面的輸出中,您可以看到查詢OK,這意味著查詢成功,并且有1個警告告訴我們數據庫已經存在,并且沒有創建新的數據庫。

列出所有MySQL數據庫

我們可以使用以下命令列出MySQL或MariaDB服務器上存在的所有數據庫:

 

  1. SHOW DATABASES; 

輸出:

 

  1. +--------------------+  
  2. Database          |  
  3. +--------------------+  
  4. | information_schema |  
  5. | database_name      |  
  6. | mysql              |  
  7. | performance_schema |  
  8. | sys                |  
  9. +--------------------+  
  10. rows in set (0.00 sec) 

 

information_schema,mysql,performance_schema和sys數據庫是在安裝時創建的,它們存儲有關所有其他數據庫,系統配置,用戶,權限和其他重要數據的信息。 這些數據庫對于MySQL安裝的正確功能是必需的。

刪除一個MySQL數據庫

要刪除MySQL或MariaDB,請運行以下命令:

 

  1. DROP DATABASE database_name; 

輸出:

  1. Query OK, 0 rows affected (0.00 sec) 

如果您嘗試刪除不存在的數據庫,您將看到以下錯誤消息:

  1. ERROR 1008 (HY000): Can't drop database 'database_name'; database doesn't exist 

為了避免這個錯誤,你可以使用下面的命令:

  1. DROP DATABASE IF EXISTS database_name; 

輸出:

 

  1. Query OK, 0 rows affected, 1 warning (0.00 sec) 

在上面的輸出中,您可以看到Query OK,這意味著查詢成功,并且有1個警告告訴我們數據庫不存在。

創建一個新的MySQL用戶帳戶

MySQL中的用戶帳戶由用戶名和主機名部分組成。

要創建一個新的MySQL或MariaDB用戶帳戶,請運行以下命令,只需將'database_user'替換為您要創建的用戶的名稱即可:

 

  1. CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'user_password'

在上面的命令中,我們將主機名部分設置為localhost,這意味著該用戶將只能從本地主機(即從運行MySQL服務器的系統)連接到MySQL服務器。 如果您想授予來自其他主機的訪問權限,只需使用遠程計算機IP更改本地主機,或者為主機部分使用'%'通配符,這意味著用戶帳戶將能夠從任何主機連接。

與使用數據庫時一樣,在嘗試創建已存在的用戶帳戶時可避免出現錯誤,您可以使用:

 

  1. CREATE USER IF NOT EXISTS 'database_user'@'localhost' IDENTIFIED BY 'user_password'

輸出:

 

  1. Query OK, 0 rows affected, 1 warning (0.00 sec) 

更改MySQL用戶帳戶密碼

更改MySQL或MariaDB用戶帳戶密碼的語法取決于您在系統上運行的服務器版本。

您可以通過發出以下命令找到您的服務器版本:

 

  1. mysql --version 

如果你有MySQL 5.7.6或更高版本或MariaDB 10.1.20及更新版本,要更改密碼,請使用以下命令:

 

  1. ALTER USER 'database_user'@'localhost' IDENTIFIED BY 'new_password'

如果您有MySQL 5.7.5及更高版本或MariaDB 10.1.20及更高版本,請使用:

SET PASSWORD FOR 'database_user'@'localhost' = PASSWORD('new_password');

在這兩種情況下,輸出應如下所示:

 

  1. Query OK, 0 rows affected (0.00 sec) 

列出所有MySQL用戶帳戶

我們可以通過查詢mysql.users表來列出所有MySQL或MariaDB用戶帳戶:

 

  1. SELECT user, host FROM mysql.user

輸出應該如下所示。 此輸出列出了在Ubuntu機器上運行的MySQL 5.7服務器的默認用戶以及我們之前添加的兩個額外用戶帳戶'database_user'@'%'和'database_user'@'localhost'。

輸出:

 

  1. +------------------+-----------+  
  2. user            | host      |  
  3. +------------------+-----------+  
  4. | database_user    | %        |  
  5. | database_user    | localhost |  
  6. | debian-sys-maint | localhost |  
  7. | mysql.session    | localhost |  
  8. | mysql.sys        | localhost |  
  9. | root            | localhost |  
  10. +------------------+-----------+  
  11. rows in set (0.00 sec) 

 

刪除MySQL用戶帳戶

要刪除用戶帳戶,請使用以下命令:

 

  1. DROP USER 'database_user@'localhost'; 

輸出:

 

  1. DROP USER 'database_user@'localhost'; 

如果您嘗試刪除不存在的用戶帳戶,則會發生錯誤。

 

  1. ERROR 1396 (HY000): Operation DROP USER failed for 'database_user'@'localhost' 

與處理數據庫時一樣,以避免錯誤可以使用:

 

  1. DROP USER IF EXISTS 'database_user'@'localhost'

輸出:

 

  1. Query OK, 0 rows affected, 1 warning (0.00 sec) 

授予MySQL用戶帳戶的權限

有多種類型的權限可以授予用戶帳戶。 您可以在這里找到MySQL支持的完整權限列表。 在本指南中,我們將通過幾個例子:

要通過特定數據庫將用戶帳戶的所有權限擴大,請使用以下命令:

 

  1. GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost'

要將所有權限擴展到所有數據庫上的用戶帳戶,請使用以下命令:

 

  1. GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost'

要通過數據庫中特定的表格將所有權限提供給用戶帳戶,請使用以下命令:

 

  1. GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost'

如果您只想授予特定數據庫類型的用戶帳戶的特定權限,請執行以下操作:

 

  1. GRANT SELECTINSERTDELETE ON database_name.* TO database_user@'localhost'

撤銷MySQL用戶帳戶的權限

如果您需要從用戶帳戶中撤銷一個或多個權限或所有權限,則語法與授予它的幾乎相同。 例如,如果要通過特定數據庫撤消用戶帳戶的所有特權,請使用以下命令:

 

  1. REVOKE ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost'

顯示MySQL用戶帳戶權限

要查找授予特定MySQL用戶帳戶類型的權限:

 

  1. SHOW GRANTS FOR 'database_user'@'localhost'

顯示:

 

  1. +---------------------------------------------------------------------------+  
  2. | Grants for database_user@localhost                                      |  
  3. +---------------------------------------------------------------------------+  
  4. GRANT USAGE ON *.* TO 'database_user'@'localhost'                        |  
  5. GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' |  
  6. +---------------------------------------------------------------------------+  
  7. rows in set (0.00 sec) 

 

結論

本教程只介紹基礎知識,但對于任何想要了解如何從命令行管理MySQL數據庫和用戶的人來說,這應該是一個很好的開始。

OK,就這樣! 如果您有任何問題或反饋,請隨時發表評論。

Ubuntu 16.04 上安裝 MySQL 5.7 教程 https://www.linuxidc.com/Linux/2017-05/143864.htm 

責任編輯:龐桂玉 來源: Linux公社
相關推薦

2018-06-19 16:05:27

LinuxStratis存儲

2016-12-15 08:30:02

Linux命令

2012-02-08 16:37:36

ibmdw

2020-12-06 08:00:46

scanimage命令行Linux

2024-11-18 15:05:34

MySQL數據庫

2010-10-12 16:55:50

MYSQL命令行

2010-10-12 17:23:40

MySQL命令行

2010-05-25 17:01:44

MySQL命令行

2019-08-27 08:00:10

OpenStack命令虛擬機

2014-06-09 10:23:20

2022-08-14 19:19:14

Linux

2019-07-15 05:50:19

Linux命令行VirtualBox版

2014-09-04 09:53:43

LinuxDigitalOcea

2019-01-22 13:46:01

LinuxUnix系統命令行

2014-10-22 12:03:14

Linux嗅探HTTP

2014-06-06 10:00:56

命令行監控Nginx Web服務

2010-10-14 09:36:47

MySQL命令行

2023-08-01 13:31:18

模型Alpacaicuna

2020-10-31 08:20:39

curl命令命令行互聯網

2021-09-18 09:19:21

Linux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品视频在线 | 欧美xxxx色视频在线观看免费 | 国产日韩一区二区三区 | 99re热精品视频 | 国产欧美日韩综合精品一区二区 | 国产精品高 | 91一区二区 | 日韩一区二区三区在线视频 | 欧美午夜视频 | 国产一级特黄视频 | 国产欧美日韩久久久 | 99久久99热这里只有精品 | 久久精品亚洲一区二区三区浴池 | 久久一二| 免费看av大片 | 成人在线免费 | 影音先锋成人资源 | 在线午夜 | 色精品视频 | 天天天天操 | 欧美最猛黑人xxxx黑人 | 欧美精品一二三区 | 久久久久久网 | 成人精品 | 在线视频一区二区三区 | 黄色免费av | 美女久久视频 | 卡通动漫第一页 | 91啪影院 | 日韩在线小视频 | 精品一区二区三区四区视频 | 日韩精品在线看 | 久久亚洲一区二区 | 18成人在线观看 | 激情五月婷婷综合 | 国产乱码精品1区2区3区 | 99亚洲精品| 亚洲成人免费观看 | 亚洲一区二区三区在线免费 | 亚洲国产精品久久久久秋霞不卡 | 美女爽到呻吟久久久久 |