中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何從CLI管理MySQL數據庫

發布時間:2021-10-29 16:49:51 來源:億速云 閱讀:154 作者:小新 欄目:MySQL數據庫

這篇文章主要為大家展示了“如何從CLI管理MySQL數據庫”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何從CLI管理MySQL數據庫”這篇文章吧。

先決條件

在開始之前,請確保您具有以下內容:

  1. 有效的阿里云帳戶。

  2. 運行操作系統(例如Ubuntu或Centos)和MySQL數據庫服務器或ApsaraDB for RDS實例的ECS實例。您可以選擇這兩種配置中的任何一種。

  3. 如果您使用的是ApsaraDB,則使用MySQL主帳戶用戶名和密碼

  4. 如果已在ECS實例上部署MySQL數據庫,則具有sudo權限的非root用戶。

第1步:連接到您的MySQL實例

首先,如果要連接到ApsaraDB for RDS,請確保已為計算機的IP地址創建了白名單組。

如果您從阿里巴巴ECS實例運行MySQL,則需要使用服務器的公共IP地址與其進行SSH連接。

無論您的連接方法和產品類型如何(ApsaraDB或帶有MySQL服務器的ECS實例),連接到MySQL的基本語法如下所示:

連接到ECS實例時的MySQL連接語法:

$ mysql  -uroot  -p

連接到ApsaraDB for RDS時的MySQL連接語法:

$ mysql  -uroot  -h -p

$ mysql  -uroot  -hserver -name .mysql.rds.aliyuncs.com -p

出現提示時輸入密碼,然后按Enter繼續:

第2步:在命令行上管理MySQL數據庫

一旦連接到MySQL數據庫,就可以執行SQL(結構化查詢語言)命令來管理MySQL實例,包括創建; 用戶,數據庫,表,列/字段。您還可以在任何數據庫表上執行CRUD(創建讀取更新和刪除)操作。

MySQL顯示數據庫命令

您可以運行以下命令查看阿里巴巴MySQL服務器上的可用數據庫;

mysql> show  databases ;
+ -------------------- +
| 數據庫            |
+ -------------------- +
| information_schema |
| mysql |
| performance_schema |
| sys |
+ -------------------- +
4行中 集合(0.01秒)

MySQL創建數據庫命令

要在您的阿里巴巴MySQL服務器上創建數據庫,請使用以下命令:

mysql> create  database test1;

請記住將“sample2”替換為數據庫的首選名稱。

在MySQL中切換數據庫

您可以通過'use'命令在MySQL中從一個數據庫切換到另一個數據庫。例如,要切換到上面創建的數據庫,請使用以下命令:

mysql> 使用 test1

MySQL創建表命令

切換到數據庫后,可以使用以下語法創建表;

mysql> create  table   (field1數據類型,field2數據類型)

MySQL支持多種數據類型,您可以在此處參考完整列表

您應該根據應用程序的需要使用正確的數據類型。

例如,要創建一個名為students的表,其中包含兩個字段(student_id和student_name),我們可以使用以下語法:

mysql> CREATE  TABLE學生(id INT  NOT  NULL,student_name VARCHAR(30)NOT  NULL);

MySQL Show Tables命令

要查看所選數據庫中的所有表,請使用以下語法:

mysql> show  tables ;
+ ----------------- +
| Tables_in_test1 |
+ ----------------- +
| 學生|
+ ----------------- +
1  行 中 集合(0.01秒)

MySQL描述表命令

要獲取上面創建的表的結構,可以使用下面的SQL語句;

mysql> 描述學生;
+ -------------- + ------------- + ------ + ----- + ------- -  + ------- +
| 領域         | 輸入| 空 | 鑰匙 | 默認 | 額外的|
+ -------------- + ------------- + ------ + ----- + ------- -  + ------- +
| id | int(11)| 沒有    | | NULL     | |
| student_name | varchar(30)| 沒有    | | NULL     | |
+ -------------- + ------------- + ------ + ----- + ------- -  + ------- +
2排在 組(0.02秒)

第3步:MySQL CRUD操作

您可以通過命令行管理MySQL數據庫表上的記錄。CRUD是Create,Read,Update和Delete的首字母縮寫。

在MySQL表中創建記錄

要在數據庫表中插入記錄,請使用以下語法:

插入 到 < 表名稱>(列1,列2,欄3),值(column1value,column2value,column3value);

請注意列數和值應匹配。

例如,要在學生表中插入3個學生,我們可以使用以下SQL命令:

的MySQL> 插入 到學生(ID,student_name)值('1' ,'John Doe的');
查詢 OK,1  行受影響(0.02秒)
的MySQL> 插入 到學生(ID,student_name)值('2' ,'理查德羅伊');
查詢 OK,1  行受影響(0.01秒)
的MySQL> 插入 到學生(ID,student_name)值('3' ,'Jane Doe的');
查詢 OK,1  行受影響(0.01秒)

從MySQL表中檢索記錄

檢索記錄是MySQL CRUD操作的一部分。要讀取記錄,請使用select語句。

mysql> 從表中選擇 column1,column2,..。columnx  ;

例如,您可以使用以下命令從student表中檢索所有學生和所有列:

mysql> select * from students;
+ ---- + -------------- +
| id | student_name |
+ ---- + -------------- +
|  1 | John Doe
|  2 | 理查德羅|
|  3 | Jane Doe |
+ ---- + -------------- +
3排在 組(0.02秒)

有時,您可能只想從表中檢索某些列。例如,要檢索沒有名字的學生的ID,我們可以使用以下語法:

mysql> 從學生中選擇 id ;
+ ---- +
| id |
+ ---- +
|  1 |
|  2 |
|  3 |
+ ---- +
3排在 組(0.01秒)

過濾記錄

您可以使用'where'子句在檢索記錄時過濾記錄。例如,您可以使用以下語法僅檢索ID為“2”的學生:

的MySQL> 選擇 * 從學生其中 ID = '2' ;
+ ---- + -------------- +
| id | student_name |
+ ---- + -------------- +
|  2 | 理查德羅|
+ ---- + -------------- +
1  行 中 集合(0.01秒)

按升序或降序排序MySQL記錄

從阿里巴巴MySQL數據庫中檢索記錄時,您可能會覺得需要通過以下語法按升序或降序對它們進行排序:

mysql> SELECT表達式FROM  表 [ WHERE條件] ORDER  BY表達式[ ASC | DESC ];

使用上面的學生表,我們可以按字母順序排列學生的名字;

mysql> select * from students order  by student_name asc ;
+ ---- + -------------- +
| id | student_name |
+ ---- + -------------- +
|  3 | Jane Doe |
|  1 | John Doe
|  2 | 理查德羅|
+ ---- + -------------- +
3排在 組(0.01秒)

編輯和更新MySQL記錄

在生產環境中,編輯和更新MySQL記錄是不可避免的。為此,請使用以下命令:

mysql> 更新 table_name  SET column1 = value1,column2 = value2 ... WHERE  條件 ;

例如,您可以使用以下SQL命令更新學生ID“2”并將名稱更改為James Smith:

mysql> 更新學生設置 student_name = 'James Smith'  ,其中 id = '2' ;
查詢 OK,1  行受影響(0.02秒)
匹配的行數:1  已更改:1  警告:0

如果再次運行select語句,您將看到學生名稱已成功更新:

mysql> select * from students;
+ ---- + -------------- +
| id | student_name |
+ ---- + -------------- +
|  1 | John Doe
|  2 | 詹姆斯史密斯|
|  3 | Jane Doe |
+ ---- + -------------- +
3排在 組(0.02秒)

從MySQL刪除表記錄

如果要從表中完全刪除記錄,請使用以下SQL語法:

mysql> 從table_name中刪除 WHERE column = value

例如,您可以使用以下命令刪除ID為3的學生;

mysql> 從 id = '3'的學生中刪除  ;
查詢 OK,1  行受影響(0.02秒)

從MySQL表中刪除所有記錄

如果您有大量記錄并且想要在單個命令中擦除整個表,請使用truncate語句:

mysql> truncate [ 表名]

要刪除學生表中的所有記錄,請鍵入:

mysql> 截斷學生;
查詢正常,0行受影響(0.02秒)

如果您嘗試再次檢索記錄,MySQL將顯示一個空集:

mysql> select * from students;
空集(0.02秒)

修改MySQL表中的列

您可以使用以下語法將列添加到現有表:

mysql> Alter  table_name  add [ column name] [ data type]

例如,要使用Varchar作為數據類型添加名為“class”的列,并將長度值30添加到學生的表中,請使用以下命令:

mysql> Alter  表學生添加類Varchar(30);
查詢正常,0行受影響(0.02秒)
記錄:0重復:0  警告:0

將主鍵添加到MySQL表

要唯一標識表中的每條記錄,應添加主鍵(PK)。您應該將它添加到最獨特的列中,不可能有重復項。

mysql> Alter  表  添加 主 鍵(column_name);

例如,在我們的學生表中,id字段是唯一的,因為沒有兩個學生可以共享相同的標識號。

mysql> Alter  表學生添加 主 鍵(id);
查詢正常,0行受影響(0.02秒)
記錄:0重復:0  警告:0

MySQL自動增量字段

您可以指示MySQL使用“自動增量”功能自動為列分配序列號。例如,學生在入學時可以獲得身份證值。這將在數據庫表中添加后自動完成。

MySQL自動增量具有以下語法:

mysql> Alter  table [ table name]   修改 列 [ column name] auto_increment

要將其分配給學生表,請鍵入以下命令:

Mysql> Alter  表學生修改 列 id int  auto_increment ;
查詢正常,0行受影響(0.02秒)
記錄:0重復:0  警告:0

您可以使用describe語句檢查表的新結構以確認更改:

mysql> 描述學生;
+ -------------- + ------------- + ------ + ----- + ------- -  + ---------------- +
| 領域         | 輸入| 空 | 鑰匙 | 默認 | 額外的|
+ -------------- + ------------- + ------ + ----- + ------- -  + ---------------- +
| id | int(11)| 沒有    | PRI | NULL     | auto_increment |
| student_name | varchar(30)| 沒有    | | NULL     | |
| 班級| varchar(30)| 是的| | NULL     | |
+ -------------- + ------------- + ------ + ----- + ------- -  + ---------------- +
3排在 組(0.01秒)

刪除MySQL數據庫表

如果您不再需要數據庫中的表,請使用以下命令

mysql> Drop  table  table_name ;

刪除數據庫

要從MySQL服務器中完全刪除數據庫,請使用以下命令

mysql> drop  database [database_name];

例:

mysql> drop  database test1;

請注意:刪除表或數據庫是不可逆轉的; 您應首先備份數據庫以避免刪除錯誤的屬性,尤其是在生產環境中

第4步:管理MySQL數據庫用戶

您可以管理多個用戶并根據您希望他們在數據庫上執行的角色為其分配不同的權限。

列出MySQL數據庫用戶

您可以通過鍵入以下命令查看阿里巴巴MySQL數據庫中的可用用戶

mysql> 從 mysql .user中選擇 用戶,主機;
+ ----------------- + -------------- +
| 用戶             | 主持人|
+ ----------------- + -------------- +
| 極光| %|
| aurora_proxy | %|
| 根| %|
| _rds_outer_user | 127.0。0.1     |
| aliyun_root | 127.0。0.1     |
| mysql .session    | localhost |
+ ----------------- + -------------- +
6行中 集合(0.01秒)

創建MySQL數據庫用戶

要創建MySQL數據庫用戶,請使用以下語法:

mysql> 創建 用戶 '[用戶名]'' '[主機名]'由'PASSWORD'標識 ;

請記住將“示例”替換為您的用戶名,并使用強大的密碼值。

mysql> 創建 'PASSWORD'標識的用戶 'example_user' @'localhost' ;

如果您希望用戶從任何主機進行連接,請使用'%'代替localhost。例如;

mysql> 創建 'PASSWORD'標識的用戶 'example_user' @'%' ;

為MySQL用戶分配權限

權限是允許用戶在數據庫表中執行某些任務的權限。要為用戶分配權限,請使用以下語法:

mysql> GRANT < privileges > ON <property> TO user_name @'<hostname>' ;
mysql> FLUSH  PRIVILEGES ;

您可以使用逗號組合多個權限,例如

mysql> GRANT  選擇,插入,刪除 ON   TO user_name @'' ;

要為用戶分配所有權限,請使用以下語法:

mysql> GRANT  ALL  ON *。* TO  '[username]' @'[hostname]' ;
mysql> FLUSH  PRIVILEGES ;

要將MySQL用戶的權限分配給特定數據庫,請使用以下語法:

mysql> GRANT  ALL  ON <database_name>。* TO  '[username]' @'[hostname]' ;
mysql> FLUSH  PRIVILEGES ;

在MySQL上查看用戶授予的權限

要查看分配給用戶的授予權限,請使用以下語法:

的MySQL> 顯示 補助 為 [用戶名]

例:

mysql> show  grants  for root;

| 資助 的根@%
| GRANT  SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,PROCESS,REFERENCES,INDEX,ALTER,CREATE  TEMATEARY  TABLES,LOCK  TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE  VIEW,SHOW  VIEW,CREATE ROUTINE,ALTER ROUTINE,創建 用戶,事件,TRIGGER  ON *。* TO  '根' @ '%'  WITH  GRANT  OPTION |
+ - 1  行 中 集合(0.01秒)

撤銷MySQL用戶的權限

如果您錯誤地分配了權限,或者您不再希望用戶在MySQL服務器上執行某些任務,則可以隨時撤銷MySQL用戶的權限。為此,請使用以下命令:

mysql> 從'[username]' ''[hostname]' 撤銷 *。* 上的 [權限] ;

您可以通過用逗號分隔多個權限來撤消它們:

的MySQL> 撤銷 選擇,插入,刪除 上  從 '[用戶名]' @ '[主機名]' ;

要撤消所有權限,請使用以下語法:

MySQL的> 撤消 所有 權限 上 *。* 從 '[用戶名]' @ '[主機名]' ;

mysql> 從'example_user' @'%' 撤消 對 sample2。*的所有 權限 。

刪除MySQL用戶

mysql> drop  user  '[username]' @'[hostname]' ;

例:

mysql> 刪除 用戶 'example_user' @'%' ;

以上是“如何從CLI管理MySQL數據庫”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

山东省| 鄂尔多斯市| 汝城县| 卢龙县| 屯留县| 迁安市| 阿克苏市| 台东市| 宜良县| 潍坊市| 会同县| 静安区| 内江市| 调兵山市| 左贡县| 双鸭山市| 岢岚县| 中牟县| 红河县| 正镶白旗| 安龙县| 库车县| 商都县| 道孚县| 太湖县| 资中县| 嘉鱼县| 武城县| 衡阳市| 文山县| 社会| 灵武市| 岗巴县| 文登市| 崇明县| 玉屏| 同心县| 汤阴县| 靖宇县| 康定县| 原平市|