mysqll數據庫,mysql數據庫基礎知識

本文目錄一覽:

怎樣用命令查看查看mysqll數據庫的用戶

— 查看mysql所有用戶信息:

SELECT * FROM mysql.user

— 查詢當前用戶

SELECT USER()

如何初始化mysql數據庫

初始化mysql數據庫,在shell中運行以下命令:

cd /usr/local/mysql

mkdir sock

cd /usr/local/mysql/bin

初始化數據庫

./mysql_install_db–user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data

或者# mysqld –initialize

擴展資料

mysql數據庫的備份

1、物理冷備份,需要在數據庫關閉狀態下進行,能夠較好的保證數據庫的完整性。一般用於非核心業務,這類業務一般都允許終端,物理冷備份的特點就是速度快,恢復操作簡單。通常通過直接打包數據庫文件夾(如:/usr/local/mysql/data)來實現

2、通過啟用二進制日誌進行增量備份,MySQL支持增量備份,進行增量備份時必須啟用二進制日誌。二進制日誌文件為用戶提供複製,對執行備份點後進行的數據庫更改所需的信息進行恢復。如果進行增量備份,需要刷新二進制日誌。

參考資料來源:百度百科—mySQL

MySQL數據庫怎麼開啟l

MySQL數據庫系統可以支持許多不同的數據庫,通常,每個應用程序需要一個數據庫。

在Book-O-Rama例子中,數據庫名為books。

創建數據庫是最容易的部分。在mySQL命令提示符下,輸入如下所示命令:

MySQLcreate datebase dbname;

應該用所希望的數據庫名稱來代替”dbname”字符串。

在Book-O-Rama例子中,要創建一個名為books的數據庫。

就這樣應該會看到如下所示的響應(執行時間會因為機器不同而不同):

Query ok,1 row affected(0.0 sec)

如果出現上訴字段意味着一切正常。

如果沒有得到響應,請確認在上面的命令行後面輸入分號,分號將告訴mySQL已經完成了命令輸入,該執行命令了。

如何壓縮Mysql數據庫

壓縮表從名字上來看,簡單理解為壓縮後的表,也就是把原始表根據一定的壓縮算法按照一定的壓縮比率壓縮後生成的表。

1.1 壓縮能力強的產品

表壓縮後從磁盤佔用上看要比原始表要小很多。如果你熟悉列式數據庫,那對這個概念一定不陌生。比如,基於 PostgreSQL 的列式數據庫 Greenplum;早期基於 MySQL 的列式數據庫 inforbright;或者 Percona 的產品 tokudb 等,都是有壓縮能力非常強的數據庫產品。

1.2 為什麼要用壓縮表?

情景一:磁盤大小為 1T,不算其他的空間佔用,只能存放 10 張 100G 大小的表。如果這些表以一定的比率壓縮後,比如每張表從 100G 壓縮到 10G,那同樣的磁盤可以存放 100 張表,表的容量是原來的 10 倍。情景二:默認 MySQL 頁大小 16K,而 OS 文件系統一般塊大小為 4K,所以在 MySQL 在刷臟頁的過程中,有一定的概率出現頁沒寫全而導致數據壞掉的情形。比如 16K 的頁寫了 12K,剩下 4K 沒寫成功,導致 MySQL 頁數據損壞。這個時候就算通過 Redo Log 也恢復不了,因為幾乎有所有的關係數據庫採用的 Redo Log 都記錄了數據頁的偏移量,此時就算通過 Redo Log 恢復後,數據也是錯誤的。所以 MySQL 在刷臟數據之前,會把這部分數據先寫入共享表空間里的 DOUBLE WRITE BUFFER 區域來避免這種異常。此時如果 MySQL 採用壓縮表,並且每張表頁大小和磁盤塊大小一致,比如也是 4K,那 DOUBLE WRITE BUFFER 就可以不需要,這部分開銷就可以規避掉了。查看文件系統的塊大小:

root@ytt-pc:/home/ytt#  tune2fs -l /dev/mapper/ytt–pc–vg-root  | grep -i ‘block size’Block size:               4096

1.3 壓縮表的優勢

壓縮表的優點非常明顯,佔用磁盤空間小!由於佔用空間小,從磁盤置換到內存以及之後經過網絡傳輸都非常節省資源。

簡單來講:節省磁盤 IO,減少網絡 IO。

1.4 壓縮表的缺陷

當然壓縮表也有缺點,壓縮表的寫入(INSERT,UPDATE,DELETE)比普通表要消耗更多的 CPU 資源。

壓縮表的寫入涉及到解壓數據,更新數據,再壓縮數據,比普通表多了解壓和再壓縮兩個步驟,壓縮和解壓縮需要消耗一定的 CPU 資源。所以需要選擇一個比較優化的壓縮算法。

1.5 MySQL 支持的壓縮算法

這塊是 MySQL 所有涉及到壓縮的基礎,不僅僅用於壓縮表,也用於其它地方。比如客戶端請求到 MySQL 服務端的數據壓縮;主從之間的壓縮傳輸;利用克隆插件來複制數據庫操作的壓縮傳輸等等。

從下面結果可以看到 MySQL 支持的壓縮算法為 zlib 和 zstd,MySQL 默認壓縮算法為 zlib,當然你也可以選擇非 zlib 算法,比如 zstd。至於哪種壓縮算法最優,暫時沒辦法簡單量化,依賴表中的數據分佈或者業務請求。

怎麼配置mysql數據庫配置文件

一、mysql_install_db說明

當MySQL的系統庫(mysql系統庫)發生故障或需要新加一個mysql實例時,需要初始化mysql數據庫。

需要使用的命令:/usr/local/mysql/bin/mysql_install_db

#/usr/local/mysql/bin/mysql_install_db –help 可以查看幫助信息如下

Usage: /usr/local/mysql/bin/mysql_install_db [OPTIONS]

–basedir=path The path to the MySQL installation directory.

–cross-bootstrap For internal use. Used when building the MySQL system

tables on a different host than the target.

–datadir=path The path to the MySQL data directory.

–force Causes mysql_install_db to run even if DNS does not

work. In that case, grant table entries that normally

use hostnames will use IP addresses.

–ldata=path The path to the MySQL data directory.

–rpm For internal use. This option is used by RPM files

during the MySQL installation process.

–skip-name-resolve Use IP addresses rather than hostnames when creating

grant table entries. This option can be useful if

your DNS does not work.

–srcdir=path For internal use. The directory under which

mysql_install_db looks for support files such as the

error message file and the file for popoulating the

help tables.

–user=user_name The login username to use for running mysqld. Files

and directories created by mysqld will be owned by this

user. You must be root to use this option. By default

mysqld runs using your current login name and files and

directories that it creates will be owned by you.

All other options are passed to the mysqld program

除了支持以上的參數,還支持mysqld的參數。

二、舉例:

本文以新加一個mysql實例為例。例如服務器上已經安裝了3306端口的mysql服務,需要再啟一個3308端口的mysql服務。

假設mysql安裝在/usr/local/mysql路徑下,找一個磁盤空間剩餘比較大的盤,如/data1,把3308端口的mysql的數據保存在/data1下

#mkdir /data1/mysql_3308

#mkdir /data1/mysql_3308/data

#chown -R mysql:mysql /data1/mysql_3308

複製一個mysql配置文件my.cnf到/data1/mysql_3308目錄下

#vi /data1/mysql_3308/my.cnf

修改配置文件,將端口和相關目錄的都改為新的設置,如下:

[client]

character-set-server = utf8

port = 3308

socket = /tmp/mysql_3308.sock

[mysqld]

user = mysql

port = 3308

socket = /tmp/mysql_3308.sock

basedir = /usr/local/mysql

datadir = /data1/mysql_3308/data

log-error = /data1/mysql_3308/mysql_error.log

pid-file = /data1/mysql_3308/mysql.pid

……其他略

確保配置文件無誤。

運行下面命令進行數據庫的初始化:

#/usr/local/mysql/bin/mysql_install_db –defaults-file=/data1/mysql_3308/my.cnf –datadir=/data1/mysql_3308/data

完成後新的3308數據庫就初始化好了,如果有報錯,則按照報錯的提示查看報錯日誌,一般情況下都是my.cnf配置文件的問題,修正後即可。

三、啟動新mysql

啟動3308端口的mysql服務

#/usr/local/mysql/bin/mysqld_safe –defaults-file=/data1/mysql_3309/my.cnf

檢查是否啟動

#ps aux|grep mysql

如果有3308字樣說明已經啟動成功

可將啟動命令加入/etc/rc.local隨服務器啟動

新加的mysql沒有設置root密碼,可以通過下面命令設置root密碼:

#/usr/local/mysql/bin/mysqladmin -S /tmp/mysql_3308.sock -u root password ‘new-password’

mysql如何進入數據庫查看所有表

1.查看數據庫,選中使用數據庫,並查看數據庫表,具體操作命令如下:

show databases;

use student;

show tables;

2.選擇student數據庫中的一張表stu_score,查看數據庫表數據,並利用explain分析數據庫表,如下圖所示:

select * from stu_score;

explain select * from stu_score;

3.查看數據庫使用索引的情況,使用命令:

show status like ‘Handler_read%’;

4.用於分析和存儲表的關鍵字,分析的結果可以得到精準的信息,利用命令analyze,

analyze table stu_score;

5.檢查數據庫表stu_score,檢查表是否有錯誤,利用命令:

check table stu_score;

6.優化數據庫表,利用命令:

optimize table stu_score;

擴展資料:

可以使用命令行工具管理 MySQL 數據庫(命令 mysql 和 mysqladmin),也可以從 MySQL 的網站下載圖形管理工具 MySQL Administrator, MySQL Query Browser 和 MySQL Workbench。

phpMyAdmin是由 php 寫成的 MySQ L資料庫系統管理程程序,讓管理者可用 Web 界面管理 MySQL 資料庫。

phpMyBackupPro也是由 PHP 寫成的,可以透過 Web 界面創建和管理數據庫。它可以創建偽 cronjobs,可以用來自動在某個時間或周期備份 MySQL 數據庫。

另外,還有其他的 GUI 管理工具,例如 mysql-front 以及 ems mysql manager, navicat等等。

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

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

相關推薦

  • 如何修改mysql的端口號

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

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

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

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

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

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

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

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

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

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • Python怎麼導入數據庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的數據庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • Python元祖排序:從基礎知識到高級應用

    Python元祖是一種不可變序列,通常用於將一組數據綁定在一起。元祖之間經常需要排序,本文將從基礎知識到高級應用,為你詳細講解Python元祖排序。 一、排序方法 Python提供…

    編程 2025-04-28

發表回復

登錄後才能評論