當前位置:首頁 » 存儲配置 » mysql資料庫存儲

mysql資料庫存儲

發布時間: 2023-05-15 21:28:58

⑴ mysql是怎麼做數據存儲

1,每個資料庫對應一個文件夾,文件夾名和庫名相同;

2,(單獨的表空間中) 每張表對應幾個文件,文件名和表名相同,innodb引擎中對應兩個文件,後綴名為:frm、ibd;

frm文件:存儲的是表結構信息。

ibd文件:存儲的是表裡的數據、索引等。

⑵ mysql資料庫的存放位置在哪裡

資料庫文件默認存放位置:C:ProgramFilesMySQLMySQLServer5.0data。

資料庫的配置文件在C:ProgramFilesMySQLMySQLServer5.0my.ini。

在data文件夾里找到不test的資料庫文件夾和自己創建的文件夾是因為test資料庫是空的資料庫,用於測試使用,自己的文件夾需要去mysql資料庫尋找。

mysql資料庫文件默認存放位置:C:ProgramFilesMySQLMySQLServer5.0mysql。

MySQL是一種開放源代碼的關系型資料庫管理系統(RDBMS),MySQL資料庫系統使用最常用的資料庫管理語言--結構化查詢語言(SQL)進行資料庫管理。

下面詳細介紹幾個找不同數拆滲據庫用到的命令:

1、選擇你所創建的資料庫

mysql>USEMYSQLDATA;(按回車鍵出現Databasechanged時說明操作成功!)

2、:使用SHOW語句找出在伺服器上當前存在什麼資料庫

mysql>SHOWDATABASES;

3、查看現在的資料庫中存在什麼表

mysql>SHOWTABLES;

4、顯示表的結構。

mysql>DESCRIBEMYTABLE;

(2)mysql資料庫存儲擴展閱讀:

mysql資料庫伺服器有三個資料庫:information_schema資料庫,mysql資料庫,test資料庫。

1、nformation_schema資料庫:這個資料庫保存了mysql伺服器所有資料庫的信息。比如資料庫雀慎的名、資料庫的表、訪問許可權、資料庫表的數據類型,資料庫索引的信息等等。就是關於這個資料庫的點點滴滴信息都存儲在這個資料庫中。

nformation_schema資料庫是MySQL自帶的,它提供了訪問資料庫元數據的方式。什麼是元數據呢?元數據是關於數據的數據,如資料庫名或表名,列的數據類型,或訪問許可權等。有些時候用於表述該信息的其他術語包括「數據詞典」和「系統目錄」。

在MySQL中,把information_schema看作是一個資料庫,確切說是信息資料庫。其中保存著關於MySQL伺服器所維護的所有其他資料庫的信息。

如資料庫名,資料庫的表,表欄的數據類型與訪問許可權等。在INFORMATION_SCHEMA中,有數個只讀表。它們實際上是視圖,而不是基本表,因此,將無法看到與之相關的任何文件。

2、mysql資料庫:這個資料庫中是mysql資料庫中的所有的信息表。

這個是mysql的核心資料庫,類似於sqlserver中的master表,主要負責存儲資料庫的用戶、許可權設置、關鍵字等mysql自己需要使用的控制和管理信息。不可以刪除,如果對mysql不是很了解,也不要輕易修改這個資料庫裡面的表信息。

3、test資料庫:空的資料庫,用於測試用旅歲脊。

這個是安裝時候創建的一個測試資料庫,和它的名字一樣,是一個完全的空資料庫,沒有任何錶,可以刪除。

⑶ mysql的數據存儲在哪

1、MySQL如果使用MyISAM存儲引擎,資料庫文件類型就包括.frm、.MYD、.MYI,默認存放位置是C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data
2、MySQL如果使用InnoDB存儲引擎,MySQL資料庫文件類型就包括.frm、ibdata1、.ibd,存放位置有兩個,
.frm文件默認存放位置是C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data, ibdata1、.ibd文件默認存放位置是MySQL安裝目錄下的data文件夾

⑷ Windows下如何更改MySQL資料庫的存儲位置

1、在mysql安裝完成後,要修改資料庫存儲的位置,比如從安裝目錄下的E:\Program Files (x86)\MySQL\data文件夾轉移到D:\mydata文件夾。
2、在D:\下新建mydata文件夾
3、cmd進入dos窗口,輸入net stop mysql停止MySQL服務,將C:\ProgramData\MySQL\MySQL Server 5.5\data(其中ProgramData為隱藏文件夾)下的文件夾和文件一起拷貝到D:\mydata文件夾下
4、在安裝目錄下找到my.ini文件,找到:
#Path to the database root
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
將datadir的值更改為datadir="D:/mydata/"
5、保存後,cmd進入dos窗口,輸入net start mysql重新啟動mySQL服務即可。

⑸ k8s中的Mysql資料庫持久化存儲

 

一、配置:

環境:

CentOS7 

VMware

筆者配置了四台虛擬機:

K8S-Master節點: 3GB內存   2核CPU   20GB硬碟空間

K8S-node1節點:  2GB內存   2核CPU   30GB硬碟空間

K8S-node2節點:  2GB內存   2核CPU   30GB硬碟空間

鏡像倉庫節點:      2GB內存   2核CPU   50GB硬碟空間

二、節點規劃:

使用三台虛擬機搭建K8S集群,使用一台虛擬機搭建鏡像倉庫。

每台虛擬機配置兩塊網卡,其中一塊為「NAT模式」,用於拉取鏡像等功能。

另外一塊網卡為「僅主機模式」,用於集群節點間的通信。歸劃如下:

K8s-master節點:

僅主機模式:10.10.10.200

NAT模式:  192.168.200.130

K8S-node1節點:

僅主機模式:10.10.10.201

NAT模式:  192.168.200.131

K8S-node2節點:

僅主機模式:10.10.10.202

NAT模式:  192.168.200.132

鏡像倉庫節點:

僅主機模式:10.10.10.101

NAT模式:  192.168.200.150

三、版本信息

Linux內核版本:

Linux version 3.10.0-862.el7.x86_64 ([email protected])

(gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) )

 #1 SMP Fri Apr 20 16:44:24 UTC 2018

K8s集群版本為1.15.0版本:

四、基於StatefulSet與PV/PVC的MySql持久化存儲實驗

1. 在每個節點安裝nfs服務

在「鏡像倉庫」節點,執行以下命令:

yum install -y nfs-common nfs-utils rpcbind

在k8s集群,執行以下命令:

yum install -y nfs-utils rpcbind

2. 在「鏡像倉庫」節點下,配置nfs伺服器

mkdir /nfs_mysql

Chmod 777 /nfs_mysql/

(在測試環境中,為了不考慮用戶屬性,暫時賦予777許可權,但在生產環境不推薦這樣做)

Chown nfsnobody /nfs_mysql/

echo 「/nfs_mysql *(rw,no_root_squash,no_all_squash,sync)」 >> /etc/exports

cat /etc/exports

/nfs_mysql *(rw,no_root_squash,no_all_squash,sync)

systemctl start rpcbind

systemctl start nfs

3. 測試nfs服務是否可用

mkdir /test

showmount -e 10.10.10.101

可見/nfs_mysql *已暴露於共享目錄,接下來測試掛載是否可用:

在master節點下執行:

mount -t nfs 10.10.10.101:/nfs_mysql /test/

echo "hello-world">>/test/1.txt

在鏡像倉庫節點下查看1.txt是否存在,若存在則掛載成功:

可見nfs服務可以正常使用,接下來刪除test目錄和1.txt

在鏡像倉庫下:

[root@hub nfs_mysql]# rm -f 1.txt

在Master節點下:

[root@k8s-master ~]# umount /test/

[root@k8s-master ~]# rm -rf /test/

同理,依照以上步驟同時創建:(提供多個mysql副本進行掛載)

nfs_mysql1

nfs_mysql2

完成後需要重啟nfs服務

systemctl restart rpcbind

systemctl restart nfs

最終效果:

4. 將nfs封裝成pv

創建mysql_test文件夾,將yaml文件統一保存在此目錄下

mkdir mysql_test

cd mysql_test

vim mysql-pv.yml

mysql-pv.yml配置如下:

apiVersion: v1

kind: PersistentVolume

metadata:

  name: mysql-pv

spec:

  capacity:

    storage: 5Gi

  accessModes:

    -  ReadWriteOnce

  persistentVolumeReclaimPolicy: Retain

  storageClassName: nfs

  nfs:

    path: /nfs_mysql

    server: 10.10.10.101

---

apiVersion: v1

kind: PersistentVolume

metadata:

  name: mysql-pv1

spec:

  capacity:

    storage: 5Gi

  accessModes:

    -  ReadWriteOnce

  persistentVolumeReclaimPolicy: Retain

  storageClassName: nfs

  nfs:

    path: /nfs_mysql1

    server: 10.10.10.101

---

apiVersion: v1

kind: PersistentVolume

metadata:

  name: mysql-pv2

spec:

  capacity:

    storage: 5Gi

  accessModes:

    -  ReadWriteOnce

  persistentVolumeReclaimPolicy: Retain

  storageClassName: nfs

  nfs:

    path: /nfs_mysql2

    server: 10.10.10.101

注意:

在k8s集群15版本中recycle回收策略已被刪除,只能用retain策略或者Delete策略。這里我們使用 persistentVolumeReclaimPolicy: Retain

 

執行命令:

kubectl create -f mysql-pv.yml

kubectl get pv

如圖所示,即為Pv創建成功。

5. 部署MySQL,在mysql_test目錄下編寫mysql.yml,配置文件如下

apiVersion: v1

kind: Service

metadata:

  name: mysql

  labels:

    app: mysql

spec:

  ports:

  - port: 3306

    name: mysql

  clusterIP: None

  selector:

    app: mysql

---

apiVersion: apps/v1

kind: StatefulSet

metadata:

  name: mysql

spec:

  selector:

    matchLabels:

      app: mysql

  serviceName: "mysql"

  replicas: 3

  template:

    metadata:

      labels:

        app: mysql

    spec:

      containers:

      - name: mysql

        image: mysql:5.6

        env:

        - name: MYSQL_ROOT_PASSWORD

          value: password

        ports:

        - containerPort: 3306

          name: mysql

        volumeMounts:

        - name: mysql-persistent-storage

          mountPath: /var/lib/mysql

  volumeClaimTemplates:

  - metadata:

      name: mysql-persistent-storage

    spec:

      accessModes: ["ReadWriteOnce"]

      storageClassName: "nfs"

      resources:

        requests:

          storage: 1Gi  

執行以下命令,部署mysql服務:

kubectl create -f mysql.yml

如圖可知,mysql按StatefulSet依次創建了mysql-0 mysql-1 mysql-2

查看各個Pod部在哪個節點:

6. 通過創建臨時容器,使用MySQL客戶端發送測試請求給MySQL master節點

注意:

主機名為mysql-0.mysql;跨命名空間的話,主機名請使用mysql-0.mysql. [NAMESPACE_NAME].如果沒有指定命名空間,默認為default,即 mysql-0.mysql. default。

   

這里筆者打算關閉node2節點來模擬node2宕機,來測試是否實現數據的持久化存儲,

所以我們向node2上的mysql1寫入數據。

 

執行以下命令,訪問mysql1:

kubectl run mysql-client --image=mysql:5.6 -it --rm --restart=Never -- mysql -h mysql-1.mysql.default -p password

創建資料庫demo,並向messages表中寫入hello-world

CREATE DATABASE demo; 

CREATE TABLE demo.messages (message VARCHAR(250)); 

INSERT INTO demo.messages VALUES ('hello-world');

如圖所示

接下來我們來關閉k8s-node2虛擬機,模擬宕機

查看nodes的運行狀態,可知node2的狀態已轉變為NotReady

一段時間後,k8s將Pod MySql -1遷移到節點k8s-node1

由於時間過長,筆者把三個Pod都刪除重啟後,驗證數據:

MySQL服務恢復,數據完好無損!

⑹ MySQL 資料庫存儲類型

數值類型包含: int tinyint bigint float decimal

int 大整型(占 4 個位元組的存儲空間)

tinyint 微小整型(占 1 個位元組的存儲空間)

bigint 極大整型(占 8 個位元組的存儲空間)

float 佔4個位元組,最多顯示7個有效位。常用於成績。

float(5,2)取值范圍:

decimal 最多可以顯示 28 個有效位

存儲空間計算:整數部分和小數部分分開存儲,將 9 的倍數包裝成 4 個位元組,余數佔用的位元組數如下:

decimal 的整數位和小數位模9的余數和位元組對照表

例如: decimal(19,9)

整數部分:

小數部分:

char 定長:當列中存儲的字元串達不到最大長度時,使用空格進行補足。

varchar 變長

char 浪費存儲空間,但性能高。 varchar 節約存儲空間,但存儲性能低。

text / longtext(4G)

數值類型寬度為顯示寬度,和佔用存儲空間大小無關;字元類型的寬度,超過則無法存儲:

對於枚舉類型的欄位,欄位值只能在列舉的范圍內選擇。

日期時間類型: date time datetime timestamp
date 日期:

time 時間:

datetime 日期時間:

timestamp 日期時間:

日期時間函數: NOW() CURDATE() CURTIME()

NOW() 返回伺服器當前的時間:

CURDATE() 返回當前日期:

CURTIME() 返回當前時間:

插入日期時間:

語法格式:

示例:

查詢1天以內的記錄:

查詢2年前至今年的記錄:

⑺ Mysql 資料庫文件存儲在哪個目錄

Mysql默認存放位置:C:Program FilesMySQLMySQL Server 5.0data。

另外,資料庫的配置文件位置為C:Program FilesMySQLMySQL Server 5.0my.ini。MySQL是一個關系型資料庫管理系正局統,由瑞典MySQL AB 公司開發,目歷寬前屬於 Oracle 旗下產品。

MySQL 是最流行的關系型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關系資料庫管理系統) 應用軟體。

(7)mysql資料庫存儲擴展閱讀:

MySQL所使用的 SQL 語言是用於訪問資料庫的最常用標准化語言。MySQL 軟體採用了雙授權政策,分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。

參考資肢清亮料:mysql網路

⑻ mysql 資料庫varchar可以存儲多少個漢字和多少個數字

4.0版本以下,varchar(50),指的是50位元組,如果存放UTF8漢字時,只能存16個(每個漢字3位元組) 5.0版本以上,varchar(50),指的是50字元,無論存放的是數字、耐判字母還是UTF8漢字(每個漢字3位元組),都可以存放50個 其實最好的辦法是在自己資料庫中建個表試試可以放多少漢字,現在mysql都5.0已上了,varchar(50)是可以存50個漢字的

具體還是要看版本的:

4.0版本以下,varchar(100),指的是100位元組,如果存放UTF8漢字時,只能存33個(每個漢字3位元組)

5.0版本以上,varchar(100),指的是100字元,無論存放的是數字、字母還是UTF8漢衫辯字(每個漢字3位元組),都可以存放100個。

⑼ mysql的最大數據存儲量是多少

mysql的最大數據存儲量沒有最大限制。

最多也就是單欄位的長度有限制,那跟欄位的數據類型有關,而對於數據表的大小一般不要超過2G,超過了效率會比較慢,建議分開多表存。

上MySQL 能承受的數據量的多少主要和數據表的結構有關,並不是一個固定的數值。表的結構簡單,則能承受的數據量相對比結構復雜時大些。

據D.V.B 團隊以及Cmshelp 團隊做CMS 系統評測時的結果來看,MySQL單表大約在2千萬條記錄(4G)下能夠良好運行,經過資料庫的優化後5千萬條記錄(10G)下運行良好。

(9)mysql資料庫存儲擴展閱讀

由於MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載並根據個性化的需要對其進行修改。

MySQL因為其速度、可靠性和適應性而備受關注。大多數人都認為在不需要事務化處理的情況下,MySQL是管理內容最好的選擇。

熱點內容
新逍客20發動機壓縮比 發布:2025-02-08 17:58:10 瀏覽:114
qq號和密碼我都知道為什麼登不上 發布:2025-02-08 17:52:21 瀏覽:870
寶塔伺服器ip進不去 發布:2025-02-08 17:52:18 瀏覽:382
擔保中介源碼 發布:2025-02-08 17:14:37 瀏覽:412
手機存儲卡速度測試 發布:2025-02-08 17:02:57 瀏覽:25
洪恩編程 發布:2025-02-08 17:02:19 瀏覽:814
linux遠程式控制制 發布:2025-02-08 17:02:16 瀏覽:153
珠心算演算法 發布:2025-02-08 17:00:37 瀏覽:919
動態ip可以做伺服器么 發布:2025-02-08 17:00:33 瀏覽:220
oracle定義存儲過程 發布:2025-02-08 16:54:35 瀏覽:151