mysql中用完即删用什么_MySQL使用和操作总结(《MySQL必知必会》读书笔记)
簡介
MySQL是一種DBMS,即它是一種數據庫軟件。DBMS可分為兩類:一類是基于共享文件系統的DBMS,另一類是基于客戶機——服務器的DBMS。前者用于桌面用途,通常不用于高端或更關鍵應用。
MySQL是基于客戶機——服務器的數據庫。客戶機——服務器應用分為兩個不同的部分。服務器部分是負責所有數據訪問和處理的軟件。這個軟件運行在稱為數據服務器的計算機上。客戶機是與用戶打交道的軟件。
使用MySQL
連接數據庫
在操作系統命令提示符下輸入 mysql 將出現如下提示:
C:\Users\greenhat>mysql
Welcometo the MySQL monitor. Commands end with ; or\g.
Your MySQL connection idis 9Server version:5.6.38MySQL Community Server (GPL)
Copyright (c)2000, 2017, Oracle and/or its affiliates. Allrights reserved.
Oracleis a registered trademark of Oracle Corporation and/orits
affiliates. Other names may be trademarksoftheir respective
owners.
Type'help;' or '\h' for help. Type '\c' to clear the currentinput statement.
mysql>
如上述界面提示即打開了數據庫的連接。也可用root用戶打開:mysql -u root -p。這是會提示輸入密碼,如果安裝時未設置密碼按回車即可。如果軟件安裝時未設置環境變量,需要在所安裝目錄的/bin下輸入mysql方可啟動。
注意:
a.命令輸入在mysql>之后;
b.命令用;或\g結束;
c.輸入quit或exit退出命令行實用程序。
選擇數據庫
最初連接到MySQL時,沒有數據庫打開供你使用。這時可輸入 SHOW DATABASES 查看已有的數據庫:
mysql>SHOW DATABASES;+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| student |
| students |
| test |
+--------------------+
6 rows in set (0.02 sec)
從已有的數據庫中選擇一個數據庫。可用關鍵字USE:
mysql> USEstudents;Databasechanged
mysql>
使用SHOE TABLES 查看數據庫中存在的表:
mysql>SHOW TABLES;+--------------------+
| Tables_in_students |
+--------------------+
| student1 |
| students |
| teacher |
| teacher1 |
+--------------------+
4 rows in set (0.08 sec)
接下來可用SQL語句來對數據庫進行新建表格等操作。
用戶管理與維護
MySQL服務器的安全基礎是:用戶應該對他們需要的數據具有適當的訪問權限,既不能多也不能少。例如多數用戶只需對表進行讀和寫,某些用戶(管理員)可能需要處理用戶賬號的權限。MySQL創建一個名為root的用戶賬號,它對整個MySQL服務具有完全的控制。你可能已經試過用root賬號登陸,不過在現實世界的日常工作中,絕對不能隨便使用root。應該創建一系列的賬號,有的用于管理,有的供用戶使用,有的供開發人員使用,等等。
MySQL用戶賬號和信息存儲在名為 mysql 的MySQL數據庫中:
mysql> USEmysql;Databasechanged
mysql> SELECT user FROM user;+------+
| user |
+------+
| root |
+------+
創建用戶賬號
創建一個新的用戶賬號,使用CREATE USER語句,如下:
mysql> CREATE USERjack;
Query OK,0 rows affected (0.48 sec)
這時再列出用戶就能看到我們剛才新建的用戶了。我們也可以在創建用戶時添加口令,使用IDENTIFIED BY PASSWORD,如下:
mysql> CREATE USER jackson IDENTIFIED BY '123456';
Query OK,0 rows affected (0.06 sec)
重命名一個用戶賬號時,使用RENAME USER語句,如下:
mysql> RENAME USER jack TOben;
Query OK,0 rows affected (0.04 sec)
刪除用戶賬號
刪除一個用戶賬號,使用DROP USER語句,如下:
mysql> DROP USERben;
Query OK,0 rows affected (0.00 sec)
設置訪問權限
在創建賬號后,必須接著分配訪問權限。新創建的賬號沒有訪問權限。它們能登陸MySQL,但不能看到數據,不能執行任何數據操作。
為看到賦予用戶賬號的權限,使用SHOW GRANTS FOR 語句,如下:
mysql> SHOW GRANTS FORjackson;+--------------------------------------------------------------------------------------------------------+
| Grants for jackson@%
|
+--------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'jackson'@'%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105
EE4568DDA7DC67ED2CA2AD9' |
+--------------------------------------------------------------------------------------------------------+
1 row in set (0.04 sec)
輸出結果顯示用戶jackson有一個權限USAGE ON *.* 。USAGE表示根本沒有權限。
為設置權限,使用GRANT語句。GRANT要求你至少給出以下信息:
a.要授予的權限;
b.被授予訪問權限的數據庫和表。
c.用戶名。
下面給出GRANT的用法例子:
mysql> GRANT SELECT ON students.* TOjackson;
Query OK,0 rows affected (0.09 sec)
此GRANT允許用戶jackson在students.*(students數據庫的所有表)上使用SELECT 。通過授權SELECT訪問權限,用戶jackson對students數據庫中所有的數據具有只讀訪問權限。
查看更改后的用戶的權限:
mysql> SHOW GRANTS FORjackson;+--------------------------------------------------------------------------------------------------------+
| Grants for jackson@%
|
+--------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'jackson'@'%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105
EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT ON `students`.* TO 'jackson'@'%'
|
+--------------------------------------------------------------------------------------------------------+
2 rows in set (0.04 sec)
GRANT的飯操作為REVOKE,用來撤銷特定的權限。如下:
mysql> REVOKE SELECT ON students.* FROMjackson;
Query OK,0 rows affected (0.01 sec)
GRANT和REVOKE可在幾個層次上控制訪問權限:
a.整個服務器,使用GRANT ALL 和 REVOKE ALL ;
b.整個數據庫,使用ON database.* ;
c.特定的表,使用ON database.table ;
d.特定的列;
e.特定的存儲過程。
更多具體的權限可查看相關官方文檔。
更改口令
更改用戶口令,可使用SET PASSWORD 語句。如下:
mysql> SET PASSWORD FOR jackson=Password('654321');
Query OK,0 rows affected (0.05 sec)
新口令必須傳遞到Password()函數進行加密。
備份數據
像所有數據一樣,MySQL的數據也必須經常備份。下面列出可進行備份的方法:
a.私用命令行實用程序mysqldump轉存所有數據庫內容到某個外部文件。在進行常規備份前這個程序應該正常運行,以便正確的備份轉存文件。
b.可用命令行實用程序mysqlhotcopy從一個數據庫復制所有數據。
c.可以使用MySQL的BACKUP TABLE 或SELECT INTO OUTFILE 轉儲所有數據到外部文件。這兩條語句都接受將要創建的系統文件名,此文件必須存在,否則會出錯。數據庫可用RESTORE TABLE 來復原。
數據庫維護
MySQL提供一系列的語句,可以用來保證數據庫正確和正常運行。
ANALYZE TANLE用來檢查表鍵是否正確。如下:
mysql> ANALYZE TABLEstudents;+-------------------+---------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+-------------------+---------+----------+----------+
| students.students | analyze | status | OK |
+-------------------+---------+----------+----------+
1 row in set (1.12 sec)
此外還可以用CHECH TABLE用來針對多個問題進行檢查。
參考文獻
《MySQL必知必會》Ben Forta,人民郵電出版社。
總結
以上是生活随笔為你收集整理的mysql中用完即删用什么_MySQL使用和操作总结(《MySQL必知必会》读书笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python的魔法_python魔法方法
- 下一篇: 上位机软件控制下位机PHP,采用stm3