1. 程式人生 > >Mysql基礎原理以及應用

Mysql基礎原理以及應用

1、資料庫實現原理

第一,就是將所要儲存的資料,寫入文字檔案。這個文字檔案就是你的資料庫。

為了方便讀取,資料必須分成記錄,每一條記錄的長度規定為等長。比如,假定每條記錄的長度是800位元組,那麼第5條記錄的開始位置就在3200位元組。大多數時候,我們不知道某一條記錄在第幾個位置,只知道主鍵(primary key)的值。這時為了讀取資料,可以一條條比對記錄。但是這樣做效率太低,實際應用中,資料庫往往採用B樹(B-tree)格式儲存資料。

要理解B樹,必須從二叉查詢樹(Binary search tree)講起。二叉查詢樹是一種查詢效率非常高的資料結構,它有三個特點。

1)、每個節點最多隻有兩個子樹。

2)、左子樹都為小於父節點的值,右子樹都為大於父節點的值。

3)、在n個節點中找到目標值,一般只需要log(n)次比較。

二叉查詢樹的結構不適合資料庫,因為它的查詢效率與層數相關。越處在下層的資料,就需要越多次比較。極端情況下,n個數據需要n次比較才能找到目標值。對於資料庫來說,每進入一層,就要從硬碟讀取一次資料,這非常致命,因為硬碟的讀取時間遠遠大於資料處理時間,資料庫讀取硬碟的次數越少越好。


B樹是對二叉查詢樹的改進。它的設計思想是,將相關資料儘量集中在一起,以便一次讀取多個數據,減少硬碟操作次數。

B樹的特點也有三個。

1)、一個節點可以容納多個值。比如上圖中,最多的一個節點容納了4個值。

2)、除非資料已經填滿,否則不會增加新的層。也就是說,B樹追求"層"越少越好。

3)、子節點中的值,與父節點中的值,有嚴格的大小對應關係。一般來說,如果父節點有a個值,那麼就有a+1個子節點。比如上圖中,父節點有兩個值(7和16),就對應三個子節點,第一個子節點都是小於7的值,最後一個子節點都是大於16的值,中間的子節點就是7和16之間的值。


這種資料結構,非常有利於減少讀取硬碟的次數。假定一個節點可以容納100個值,那麼3層的B樹可以容納100萬個資料,如果換成二叉查詢樹,則需要20層!假定作業系統一次讀取一個節點,並且根節點保留在記憶體中,那麼B樹在100萬個資料中查詢目標值,只需要讀取兩次硬碟。

資料庫以B樹格式儲存,只解決了按照"主鍵"查詢資料的問題。如果想查詢其他欄位,就需要建立索引(index)。所謂索引,就是以某個欄位為關鍵字的B樹檔案。假定有一張"僱員表",包含了員工號(主鍵)和姓名兩個欄位。可以對姓名建立索引檔案,該檔案以B樹格式對姓名進行儲存,每個姓名後面是其在資料庫中的位置(即第幾條記錄)。查詢姓名的時候,先從索引中找到對應第幾條記錄,然後再從表格中讀取。

2、Mysql體系結構

資料庫(Database)是按照資料結構來組織、儲存和管理資料的倉庫。為了方便資料的儲存和管理,它將資料按照特定的規律儲存在磁碟上。通過資料庫管理系統,可以有效地組織和管理儲存在資料庫中的資料。

當然我們也可以將資料儲存在檔案中,但是在檔案中讀寫資料速度相對較慢。所以,現在我們使用關係型資料庫管理系統來儲存和管理的大資料量。所謂的關係型資料庫,是建立在關係模型基礎上的資料庫,藉助於集合代數等數學概念和方法來處理資料庫中的資料。

Mysql是最流行的關係型資料庫管理系統,在WEB應用方面MySQL是最好的關係資料庫管理系統)應用軟體之一。瞭解MySql必須牢牢記住其體系結構圖,Mysql是由SQL介面,解析器,優化器,快取,儲存引擎組成的。


1)、最上層是一些客戶端和連線服務,包含本地sock通訊和大多數基於客戶端/服務端工具實現的類似於tcp/ip的通訊。主要完成一些類似於連線處理、授權認證、及相關的安全方案。在該層上引入了執行緒池的概念,為通過認證安全接入的客戶端提供執行緒。同樣在該層上可以實現基於SSL的安全連結。伺服器也會為安全接入的每個客戶端驗證它所具有的操作許可權。

2)、第二層架構主要完成大多少的核心服務功能,如SQL介面,並完成快取的查詢,SQL的分析和優化及部分內建函式的執行。所有跨儲存引擎的功能也在這一層實現,如過程、函式等。在該層,伺服器會解析查詢並建立相應的內部解析樹,並對其完成相應的優化如確定查詢表的順序,是否利用索引等,最後生成相應的執行操作。如果是select語句,伺服器還會查詢內部的快取。如果快取空間足夠大,這樣在解決大量讀操作的環境中能夠很好的提升系統的效能。

3)、儲存引擎層,儲存引擎真正的負責了MySQL中資料的儲存和提取,伺服器通過API與儲存引擎進行通訊。不同的儲存引擎具有的功能不同,這樣我們可以根據自己的實際需要進行選取。

4)、資料儲存層,主要是將資料儲存在運行於裸裝置的檔案系統之上,並完成與儲存引擎的互動。


3、MySQL基本命令

連線接mysql的命令:

# 指定socket檔案和使用者名稱、密碼

mysql -S/tmp/mysql.sock -uroot -p

# 指定IP和埠

mysql -h127.0.0.1 -P3306 -uroot -p

檢視mysq狀態:
mysql> status
--------------
mysql  Ver 14.14 Distrib 5.6.35, for Linux (x86_64) using  EditLine wrapper

Connection id:		6
Current database:	
Current user:		[email protected]
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.6.35-log Source distribution
Protocol version:	10
Connection:		127.0.0.1 via TCP/IP
Server characterset:	utf8
Db     characterset:	utf8
Client characterset:	utf8
Conn.  characterset:	utf8
TCP port:		3306
Uptime:			1 hour 2 min 2 sec

Threads: 1  Questions: 12  Slow queries: 0  Opens: 70  Flush tables: 1  Open tables: 63  Queries per second avg: 0.003


展現當前連結: mysql> show processlist;
+----+------+-----------------+------+---------+------+-------+------------------+
| Id | User | Host            | db  | Command | Time | State | Info            |
+----+------+-----------------+------+---------+------+-------+------------------+
|  6 | root | localhost:46414 | NULL | Query  |    0 | init  | show processlist |
+----+------+-----------------+------+---------+------+-------+------------------+
1 row in set (0.00 sec) SQL是一種用於訪問和處理資料庫的標準計算機語言。 # 檢視當前有哪些資料庫: show databases;
# 使用名為test的資料庫: use test;
# 建立一張學生表,每一張表都需要包含一個主鍵,主鍵唯一標識一條記錄,唯一的欄位,不可重複不能為空,通過`primary key`關鍵字來定義: create table stu ( id int(10) , name varchar(20) , age int(10) , primary key(id)) ; # 檢視建立好的表: show create table stu;
# 新加一個欄位: alter table stu add column gender varchar(20);
# 修改一個字: alter table stu modify column gender varchar(40);
# 刪除一個欄位: alter table stu drop column gender;
# 刪除表: drop table stu;
# 檢視當前資料庫中的表: show tables;
# 向表中插入資料: insert into stu(id,name,age) values(1,'pw',28);
# 插入全部欄位時可以只寫表名: insert into stu values(2,'nss',29);
# 檢視剛才新增的資料,"*"代表查詢全部欄位: select * from stu;
# 如果只想查詢兩個欄位,則只寫要查詢的欄位名: select name, age from stu;
# 也可以根據某個條件進行查詢,比如只查詢id為1的記錄: select name age from stu where id=1;
# 更新語句: update stu set age=29 where id=1;
# 刪除表中的資料: delete from stu where id=1;
4、Mysql儲存引擎

儲存引擎說白了就是如何儲存資料、如何為儲存的資料建立索引和如何更新、查詢資料等技術的實現方法。因為在關係資料庫中資料的儲存是以表的形式儲存的,所以儲存引擎也可以稱為表型別(即儲存和操作此表的型別)。在Oracle 和SQL Server等資料庫中只有一種儲存引擎,所有資料儲存管理機制都是一樣的。而MySql資料庫提供了多種儲存引擎。使用者可以根據不同的需求為資料表選擇不同的儲存引擎,使用者也可以根據自己的需要編寫自己的儲存引擎。但是,這裡重點介紹InnoDB引擎。

Innodb儲存引擎記憶體由以下三個部分組成:緩衝池、重做日誌快取、額外的記憶體池。Innodb儲存引擎後臺有7個執行緒,其中,4個IO執行緒,1個master thread,一個lock監控執行緒,一個錯誤監控執行緒。在以下場合下,使用InnoDB是最理想的選擇:

1)、更新密集的表。InnoDB儲存引擎特別適合處理多重併發的更新請求。

2)、.事務。InnoDB儲存引擎是支援事務的標準MySQL儲存引擎。

3)、.自動災難恢復。與其它儲存引擎不同,InnoDB表能夠自動從災難中恢復。

4)、.外來鍵約束。MySQL支援外來鍵的儲存引擎只有InnoDB。

5)、.支援自動增加列AUTO_INCREMENT屬性。

一般來說,如果需要事務支援,並且有較高的併發讀取頻率,InnoDB是不錯的選擇。

innodb引擎架構:


InnoDB的多個記憶體塊組成了記憶體池,負責如下工作:

1)、維護所有程序/執行緒需要訪問的多個內部資料結構。

2)、快取磁碟上的資料,方便快速的讀取,並且在對磁碟檔案的資料進行修改之前在這裡快取。

3).、重做日誌快取。

5、Mysql事務管理

MySQL 事務主要用於處理操作量大,複雜度高的資料。比如說,在人員管理系統中,你刪除一個人員,你即需要刪除人員的基本資料,也要刪除和該人員相關的資訊,如信箱,文章等等,這樣,這些資料庫操作語句就構成一個事務!在 MySQL 中只有使用了 Innodb 資料庫引擎的資料庫或表才支援事務。事務處理可以用來維護資料庫的完整性,保證成批的 SQL 語句要麼全部執行,要麼全部不執行。事務用來管理 insert,update,delete 語句.

事務測試:

mysql> use RUNOOB;
Database changed
mysql> CREATE TABLE runoob_transaction_test( id int(5)) engine=innodb;  # 建立資料表
Query OK, 0 rows affected (0.04 sec)
 
mysql> select * from runoob_transaction_test;
Empty set (0.01 sec)
 
mysql> begin;  # 開始事務
Query OK, 0 rows affected (0.00 sec)
 
mysql> insert into runoob_transaction_test value(5);
Query OK, 1 rows affected (0.01 sec)
 
mysql> insert into runoob_transaction_test value(6);
Query OK, 1 rows affected (0.00 sec)
 
mysql> commit; # 提交事務
Query OK, 0 rows affected (0.01 sec)
 
mysql>  select * from runoob_transaction_test;
+------+
| id   |
+------+
| 5    |
| 6    |
+------+
2 rows in set (0.01 sec)
 
mysql> begin;    # 開始事務
Query OK, 0 rows affected (0.00 sec)
 
mysql>  insert into runoob_transaction_test values(7);
Query OK, 1 rows affected (0.00 sec)
 
mysql> rollback;   # 回滾
Query OK, 0 rows affected (0.00 sec)
 
mysql>   select * from runoob_transaction_test;   # 因為回滾所以資料沒有插入
+------+
| id   |
+------+
| 5    |
| 6    |
+------+
2 rows in set (0.01 sec)
 
mysql>


6、Mycat

Mycat就是一個數據庫中介軟體,資料庫的代理,它遮蔽了物理資料庫,應用連線mycat,然後mycat再連線物理資料庫 。它支援水平拆分(分庫分表,通過分庫達到分表),支援多種分片規則,比如範圍切片、自然月分片、hash取模分片等 。它支援mysql、oracle、mongodb、sql server,並且支援資料庫叢集。

使用網上的兩張圖片表示Mycat解決的問題:

沒有Mycat以前:


有了Mycat以後:


7、Mysql的優化 1)、建立正確的索引
索引是通過減少在資料庫裡查詢時,必須掃描的資料量來提高查詢的自身效率。在 MySQL 中,索引被用於加快對資料庫的訪問,並有助於遵循資料庫的各種約束(例如 UNIQUE 和 FOREIGN KEY)。資料庫索引就像書的索引一樣,它們的位置資訊被儲存,並且包含有資料庫的主要資訊。 它們是資料位置的一種參考方法或對映,因此索引並不會更改資料庫中的任何資料。它們只是指向資料存放的位置而已。不過,索引並不總能匹配上任何的負載請求。在系統執行中,您應當不斷為查詢的上下文環境建立各種索引。 雖然有著良好索引的資料庫會執行更快速,但是如果出現單個索引的缺失,則會拖慢整個資料庫的效率。因此,我們需要使用 EXPLAIN 來查詢缺失的索引,並將其新增上去。需要注意的是:不要新增您所不需要的索引,因為不必要的索引會反過來拖慢資料庫。

2)、拒絕預設設定

就像其他任何軟體那樣,MySQL 也能通過各種可配置的設定,來修改其行為並最終優化其效能。同時這些配置的設定經常會被管理員所忽略,並一直保持著預設值的狀態。為了讓 MySQL 獲得最佳的效能,瞭解如何配置 MySQL,以及將它們設定為最適合您的資料庫環境的狀態是非常重要的。在預設情況下,MySQL 是針對小規模的釋出、安裝進行調優的,而並非真正的生產環境規模。因此,通常您需要將 MySQL 配置為使用所有可用的記憶體資源,並且能允許您的應用程式所需的最大連線數。

這裡有三個有關 MySQL 效能優化的設定,值得您去仔細地配置:

innodb_buffer_pool_size:資料和索引被用作快取的緩衝池。當您的資料庫伺服器有著大量的系統記憶體時,可以用到該設定。如果您只執行 InnoDB 儲存引擎,那麼您通常可以分配 80% 左右的記憶體給該緩衝池。而如果您要執行非常複雜的查詢或者您有大量的併發資料庫連線,亦或您有非常大的資料表的情況,那麼就可能需要將此值下調一個等級,以便為其他的呼叫分配更多的記憶體。您在設定 InnoDB 緩衝池大小的時候,要確保其設定既不要過大,也不要頻繁引起交換(swapping),因為這些絕對會降低您的資料庫效能。有一個簡單的檢查方法就是在“Percona 監控和管理”。

innodb_log_file_size:這是指單個 InnoDB 日誌檔案的大小。預設情況下,InnoDB 使用兩個值,這樣您就可以通過將其增加一倍,來讓 InnoDB 獲得迴圈的重做日誌空間,以確保交易的永續性。這同時也優化了對資料庫的寫入效能。設定 innodb_log_file_size 的值是很值得推敲的:如果分配了較大的重做空間,那麼對於寫入密集型的工作負載來說效能會越好。

max_connections:大型應用程式通常需要比預設數量多得多的連線。不同於其他的變數,如果您沒能將該值設定正確,您就會碰到效能方面的問題。也就是說,如果連線的數量不足以滿足您的應用需求,那麼應用程式將根本無法連線到資料庫,在使用者看來就像宕機了一樣。由此可見,將它設定正確是非常重要的。對於在多臺伺服器上執行著具有多個元件的複雜應用來說,您想獲知到底需要多少個連線是非常困難的。幸運的是,MySQL 能夠在峰值操作時輕易地獲悉所用到的連線數量。通常,您需要確保在應用程式所使用到的最大連線數和可用的最大連線數之間至少有 30% 的差額。

3)、使用 SSD 儲存

無論您的資料庫是否已被載入記憶體,您都需要使用快速儲存來處理寫入操作,並且避免在資料庫啟動後(重啟之後)出現效能問題。這裡的快速儲存就是指固態硬碟。

一些所謂的“專家”仍在基於成本和可靠性的基礎上,主張使用機械旋臂硬碟。坦率地說,當涉及到資料庫操作時,這些建議往往是過時的或是完全錯誤的。現如今,固態硬碟的效能已經非常卓越、可靠且價格低廉了。

並非所有的固態硬碟都是同等生產的。對於資料庫伺服器來說,您應該選用那些專供伺服器工作負載、且能精心呵護資料的 SSD。例如:防止斷電損壞的,而避免使用那些專為臺式和膝上型電腦設計的商用固態硬碟。通過 NVMe 或英特爾 Optane 技術來直接連線的 SSD 往往能夠提供最佳的效能。即使遠端連線到 SAN、NAS 或雲端的塊裝置上,固態硬碟也能比機械旋臂硬碟提供更為優越的效能。

4)、橫向擴充套件

即使是效能最高的伺服器也有侷限性。業界一般用兩種方法來進行擴充套件:縱向和橫向。縱向擴充套件意味著購買更多的硬體。這樣做不但成本昂貴,而且硬體折舊速度快。而橫向擴充套件,則在處理負載方面有如下幾點優勢:

您可以從更小型、成本更低的系統中獲益。橫向擴充套件使得系統的線性擴充套件更方便、更快捷。由於資料庫會橫跨增長到多個物理機上,橫向擴充套件在保護資料庫的同時,消除了硬體單點故障。儘管橫向擴充套件有著諸多優勢,不過它還是具有一定的侷限性。橫向擴充套件需要資料複製,例如基本的 MySQL Replication 或是用於資料同步的 Percona XtraDB 群集。但是作為回報,您也會獲得更高的效能和可用性。如果您需要更高階的擴充套件性,那麼請考慮使用 MySQL 分片(sharding)。

另外,您還需要確保連線到群集架構的應用程式可以找到它們所需的資料。這通常是通過諸如 ProxySQL 或 HAProxy 的一些代理伺服器和負載平衡器來實現的。當然,過早地規劃橫向擴充套件,會增加分散式資料庫的複雜性。




相關推薦

Mysql基礎原理以及應用

1、資料庫實現原理 第一,就是將所要儲存的資料,寫入文字檔案。這個文字檔案就是你的資料庫。 為了方便讀取,資料必須分成記錄,每一條記錄的長度規定為等長。比如,假定每條記錄的長度是800位元組,那麼第5條記錄的開始位置就在3200位元組。大多數時候,我們不知道某一條記錄在第幾個位置,只知道主鍵(prim

MySQL索引原理以及查詢優化

地址 存儲引擎 想要 方式 聯合 執行 圖書 解決 範圍查詢 一、介紹 1.什麽是索引? 一般的應用系統,讀寫比例在10:1左右,而且插入操作和一般的更新操作很少出現性能問題,在生產環境中,我們遇到最多的,也是最容易出問題的,還是一些復雜的查詢操作,因此對查詢語句的優化顯然

MySQL基礎——事務以及隔離級別

一、事務 1、介紹:事務由單獨單元的一個或多個sql語句組成,在這個單元中,每個MySQL語句是相互依賴的。而整個單獨單元格作為一個不可分割的整體,如果單元中某條sql語句一旦執行失敗或產生錯誤,整個單元將會回滾。所有受到影響的資料將返回到事務開始以前的狀態。如果單元中的所有sql語句均執行成功

多普勒微波感應和FMCW微波感應原理以及應用

0. 前言 雷達主要分為多普勒雷達、脈衝雷達、頻率調製連續波FMCW雷達。脈衝雷達由於需要貴重的磁體控制脈衝開關,較少使用。多普勒雷達通常只能獲得目標速度,而目標距離難以獲取。FMCW雷達, 1. 多普勒雷達HB100原理 多普勒雷達原理來自多普勒效應。手頭上的HB100微波感測器的原理

(九)MySQL基礎——事務以及隔離級別

一、事務 1、介紹:事務由單獨單元的一個或多個sql語句組成,在這個單元中,每個MySQL語句是相互依賴的。而整個單獨單元格作為一個不可分割的整體,如果單元中某條sql語句一旦執行失敗或產生錯誤,整個單元將會回滾。所有受到影響的資料將返回到事務開始以前的狀態。如果單元中的所有sql語句均執行

Lucas-Kanade 演算法原理以及應用,正向、反向、additive、Compositional光流法

先祭出一片神級總結性的文章:Lucas-Kanade 20 Years On: A Unifying Framework Lucas-Kanade 演算法原理以及應用 Lucas-Kanade 演算法原理以及應用 一 演算法原理 1

Token原理以及應用

            近期由於專案需要開發供第三方使用的api,在整個架構設計的一個環節中,對api訪問需要進行認證,在這裡我選擇了token認證。     1.無狀態、可擴充套件       

dubbo原始碼分析(二):超時原理以及應用場景

本篇主要記錄dubbo中關於超時的常見問題,實現原理,解決的問題以及如何在服務降級中體現作用等。 超時問題 為了檢查對dubbo超時的理解,嘗試回答如下幾個問題,如果回答不上來或者不確定那麼說明此處需要再多研究研究。 我只是針對個人的理解提問題,並不代表我理解的就是全面深入的,但我的問題如果也回答不

布隆過濾器(Bloom Filter)原理以及應用

布隆過濾器(Bloom Filter)是1970年由布隆提出的。它實際上是一個很長的二進位制向量和一系列隨機對映函式。布隆過濾器可以用於檢索一個元素是否在一個集合中。它的優點是空間效率和查詢時間都遠遠超過一般的演算法,缺點是有一定的誤識別率和刪除困難。 hash原理

Trie原理以及應用於搜尋提示

背景 有一段如下內容: 舉個例子來說吧,搜尋提示功能大家都知道吧,就是下面這個圖的東西。 如果是google,baidu這種大型搜尋系統,或者京東淘寶這種電商系統,搜尋提示的呼叫量是搜尋服務本身呼叫量的幾倍,因為你每輸入一個鍵盤,就要呼叫一次搜尋提

Spark入門之八:Spark Streaming 的原理以及應用場景介紹

什麼是Spark StreamingSpark Streaming類似於Apache Storm,用於流式資料的處理。根據其官方文件介紹,Spark Streaming有高吞吐量和容錯能力強這兩個特點。Spark Streaming支援的資料輸入源很多,例如:Kafka、F

棧和佇列的原理以及應用場景

      棧和佇列是一個比較抽象的概念,大多數人知道棧和佇列的特點,但是實際不知道怎麼用,這是大家學習階段的通病。      要想用棧和佇列,首先要明確,他們是什麼。1.是什麼?    棧和佇列其實是一個工具,他們傳統的工具方法 工具類不同,他們是“思想”工具,大家都知道,

K-means演算法原理以及應用(R)

K-means是一種無監督學習演算法,是聚類演算法中最簡單的一種了。不同與一些分類的監督學習演算法,比如邏輯迴歸、SVM、隨機森林等,k-means聚類無需給定Y變數,只有特徵X。下面是k-means演算法原理及思想。  在聚類問題中,給我們的訓練樣本是,每個,沒有了y

java 中泛型的原理以及應用場景

Java從1.5之後支援泛型,泛型的本質是引數化型別,也就是說所操作的資料型別被指定為一個引數。這種引數型別可以用在類、介面和方法的建立中,分別稱為泛型類、泛型介面、泛型方法。 入不支援泛型,則表現為支援Object,不是特定的泛型。 泛型是對 Java 語言的型別系統的一

ARP工作原理以及應用

一 ARP工作原理 ARP以目標IP地址為線索,用來定位下一個應該接受資料包的網路裝置對應的MAC地址。 簡單的說,ARP是藉助ARP請求與ARP響應兩種型別的包確定MAC地址的。 具體工作原理見下面

mysql索引原理以及優化

數據查找 操作系統 評價 b數 order by 使用場景 排序樹 如果 相關 一、常見查找算法:   1.順序查找: 最基礎的查找方法,對比每一個元素進行查找。在數據量很大的時候效率相當的慢。 數據結構:有序或者無需的隊列 時間復雜度:O(n)   2.二分查找:

Java函數語言程式設計原理以及應用

一. 函數語言程式設計 Java8所有的新特性基本基於函數語言程式設計的思想,函數語言程式設計的帶來,給Java注入了新鮮的活力。 下面來近距離觀察一下函數語言程式設計的幾個特點: 函式可以作為變數、引數、返回值和資料型別。 基於表示式來替代方法的呼叫 函式無狀態,可以併發和獨立使用 函式無副

36、談談MySQL支援的事務隔離級別,以及悲觀鎖和樂觀鎖的原理應用場景?

目錄 今天我要問你的問題是,談談 MySQL 支援的事務隔離級別,以及悲觀鎖和樂觀鎖的原理和應用場景? 典型回答 考點分析 知識擴充套件 一課一練 在日常開發中,尤其是業務開發,少不了利用 Java 對資料庫進行基本的增刪改查等資料操作,這也是 Java 工程師的必備技能

Linux基礎服務_DNS原理以及正反向DNS配置

應用程序 服務器 dns基礎 DNS服務的原理介紹: dns(Domain Name Service,域名解析服務) 為c/s架構的服務 通常默認的監聽的端口為:53/tcp 53/udp 將dns服務實現的應用程序為:bind

MySQL基礎應用

命令使用1.登入到MySQL服務器[[email protected]/* */ ~]# mysql -u root -pEnter password: //根據提示輸入正確的密碼2.執行MySQL操作語句以root登入打“mysql>”環境後,執行"show master l