mysql數據庫的curd(mysql數據庫的存儲引擎類型)

本文目錄一覽:

mysql root無法修改用戶權限,root無法操作數據庫

因為之前root安全設置問題,把root的select_priv, update_priv, insert_priv, delete_priv權限都給下掉了。

現在要grant 修改非root用戶權限的時候發現修改不了,才發現是root權限的問題。

修改mysql配置文件

mysqld新增skip-grant-tables,wq保存退出

重啟mysql服務

進入mysql

查看mysql用戶表信息,發現root沒有CURD的權限

發現問題直接update,修改它,如果其它權限沒了,也可以修改

修改my.cnf,注釋掉skip-grant-tables

重啟mysql服務

登錄root賬號,就可以用了

其實和服務器的修改方法一樣

查看my.cnf掛載情況,如果已經知道了my.cnf的掛載位置,就不用執行這一步。

找到my.cnf配置文件,這邊的掛載到宿主機的配置在/opt/mysql/config/my.cnf

注意 5d15960f2861 是我自己的 CONTAINER ID

如果my.cnf沒有掛載出來,那就進容器裏面改my.cnf了,注意 5d15960f2861 是我自己的 CONTAINER ID

my.cnf 中的mysqld新增skip-grant-tables,wq保存退出

重啟docker mysql服務

進入docker mysql容器的mysql服務

查看mysql用戶表信息,發現root沒有CURD的權限

發現問題直接update,修改它,如果其它權限沒了,也可以修改

修改my.cnf,注釋掉skip-grant-tables

重啟docker mysql服務

登錄root賬號,就可以用了

mysql的特點是什麼?

一、MySQL數據庫的特點和優勢:

(1)功能強大

MySQL 中提供了多種數據庫存儲引擎,各引擎各有所長,適用於不同的應用場合,用戶可以選擇最合適的引擎以得到最高性能,可以處理每天訪問量超過數億的高強度的搜索 Web 站點。MySQL5 支持事務、視圖、存儲過程、觸發器等。

(2)支持跨平台

MySQL 支持至少 20 種以上的開發平台,包括 Linux、Windows、FreeBSD 、IBMAIX、AIX、FreeBSD 等。這使得在任何平台下編寫的程序都可以進行移植,而不需要對程序做任何的修改。

(3)運行速度快

高速是 MySQL 的顯著特性。在 MySQL 中,使用了極快的 B 樹磁盤表(MyISAM)和索引壓縮;通過使用優化的單掃描多連接,能夠極快地實現連接;SQL 函數使用高度優化的類庫實現,運行速度極快。

(4)支持面向對象

PHP 支持混合編程方式。編程方式可分為純粹面向對象、純粹面向過程、面句對象與面向過程混合 3 種方式。

(5)安全性高

靈活和安全的權限與密碼系統,允許基本主機的驗證。連接到服務器時,所有的密碼傳輸均採用加密形式,從而保證了密碼的安全。

(6)成本低

MySQL 數據庫開放源代碼且無版權制約,是一種完全免費的產品,用戶可以直接通過網絡下載,自主性及使用成本低。體積小,安裝方便。歷史悠久,用戶使用活躍,遇到問題可以尋求幫助,易於維護。

(7)支持各種開發語言

MySQL 為各種流行的程序設計語言提供支持,為它們提供了很多的 API 函數,包括 PHP、ASP.NET、Java、Eiffel、Python、Ruby、Tcl、C、C++、Perl 語言等。

(8)數據庫存儲容量大

MySQL 數據庫的最大有效表尺寸通常是由操作系統對文件大小的限制決定的,而不是由 MySQL 內部限制決定的。InnoDB 存儲引擎將 InnoDB 表保存在一個表空間內,該表空間可由數個文件創建,表空間的最大容量為 64TB,可以輕鬆處理擁有上千萬條記錄的大型數據庫。

(9)支持強大的內置函數

PHP 中提供了大量內置函數,幾乎涵蓋了 Web 應用開發中的所有功能。它內置了數據庫連接、文件上傳等功能,MySQL 支持大量的擴展庫,如 MySQLi 等,可以為快速開發 Web 應用提供便利。

二、相比其他數據庫的特點和優勢:

(1) 對事務的提交

MySQL默認是自動提交,不需要在寫commit指令或者點擊commit按鈕。

(2) 分頁查詢

MySQL是直接在SQL語句中寫”select… from …where…limit  m, n”,有limit就可以實現分頁。PHP里還可以用SEEK定位到結果集的位置。

(3) 事務隔離級別

MySQL是read commited的隔離級別。

一個session讀取數據時,其他session不能更改數據,但可以在表最後插入數據。session更新數據時,要加上排它鎖,其他session無法訪問數據。

(4) 複製簡單

MySQL複製服務器配置簡單。

(5) 自動增長的數據類型處理

MYSQL有自動增長的數據類型,插入記錄時不用操作此字段,會自動獲得數據值。

(6) 單引號的處理

MYSQL里可以用雙引號包起字符串。

(7) 日期字段的處理

MYSQL日期字段分DATE和TIME兩種。

(8) 空字符的處理

MYSQL的非空字段也有空的內容,NULL或空字符。

設計一個log類,需要用到mysql中的curd操作,是應該使用繼承呢還是組合

原則一:如果類A 和類B 毫不相關,不可以為了使B 的功能更多些而讓B 繼承A 的功能

原則二:如果類B 有必要使用A 的功能,則要分兩種情況考慮

a、若在邏輯上B 是A 的「一種」(a kind of ),則允許B 繼承A 的功能。

b、若在邏輯上A 是B 的「一部分」(a part of),則不允許B 繼承A 的功能,而是要用A和其它東西組合出B。

MySQL中MyISAM和InnoDB的區別

MYISAM 表是典型的數據與索引分離存儲,主鍵和二級索引沒有本質區別。比如在 MYISAM 表裡主鍵、唯一索引是一樣的,沒有本質區別。

MYISAM 表的索引存儲方式最大的缺點沒有按照物理數據行順序存儲,這樣無論對主鍵的檢索還是對二級索引的檢索都需要進行二次排序。

INNODB 表本身是索引組織表,也就是說索引就是數據。下圖表T1的數據行以聚簇索引的方式展示,非葉子節點保存了主鍵的值,葉子節點保存了主鍵的值以及對應的數據行,並且每個頁有分別指向前後兩頁的指針。

INNODB 表不同於 MYISAM,INNODB 表有自己的數據頁管理,默認 16KB。MYISAM 表數據的管理依賴文件系統,比如文件系統一般默認 4KB,MYISAM 的塊大小也是 4KB,MYISAM 表的沒有自己的一套崩潰恢復機制,全部依賴於文件系統。

INNODB 表這樣設計的優點有兩個:

1. 數據按照主鍵順序存儲。主鍵的順序也就是記錄行的物理順序,相比指向數據行指針的存放方式,避免了再次排序。

2. 兩個葉子節點分別含有指向前後兩個節點的指針,這樣在插入新行或者進行頁分裂時,只需要移動對應的指針即可。

但是也有缺點:

1. 二級索引由於同時保存了主鍵值,體積會變大。特別是主鍵設計不合理的時候,比如用 UUID 做主鍵。

2. 對二級索引的檢索需要檢索兩次索引樹。第一次通過檢索二級索引葉子節點,找到過濾行對應的主鍵值;第二次通過這個主鍵的值去聚簇索引中查找對應的行。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/286588.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-23 03:48
下一篇 2024-12-23 03:48

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • int類型變量的細節與注意事項

    本文將從 int 類型變量的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變量進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變量。 一、定義與聲明 int…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Java2D物理引擎簡介及應用

    本文將介紹Java2D物理引擎的基本概念、實現原理及應用案例,以及對應代碼示例。 一、物理引擎概述 物理引擎是一種計算機程序,用於模擬物理系統中的對象和其互動,如重力、碰撞、彈力等…

    編程 2025-04-29
  • Python基本數字類型

    本文將介紹Python中基本數字類型,包括整型、布爾型、浮點型、複數型,並提供相應的代碼示例以便讀者更好的理解。 一、整型 整型即整數類型,Python中的整型沒有大小限制,所以可…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • Python中的Bool類型判斷

    本篇文章旨在講解Python中的Bool類型判斷。在Python中,Bool類型是經常使用的一種類型,因此掌握其用法非常重要。 一、True和False 在Python中,True…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29

發表回復

登錄後才能評論