如何在服務(wù)器部署MySQL
1.在服務(wù)器opt 新建文件夾 mysql/data,新建文件 mysql/conf.d/my.cnf
其中my.cnf 內(nèi)容如下
[mysqld] log_timestamps=SYSTEM default-time-zone='+8:00' server-id=1 log-bin=mysql-bin binlog-do-db = mall # 要監(jiān)聽的庫 binlog_format=ROW
配置解讀:
① server-id :指定當(dāng)前服務(wù)的id,必須指定,否則會(huì)報(bào)錯(cuò)
② log-bin :設(shè)置binlog文件的存放地址和文件名,叫做mysql-bin,此處指定的目錄前綴是mysql容器的數(shù)據(jù)存放目錄,所以可以在掛載目錄中看到相關(guān)的文件,命名格式是mysql-bin.000001開始慢慢疊加
③ binlog-do-db :指定針對(duì)哪個(gè)數(shù)據(jù)庫記錄binlog的events事件,此處記錄mall庫
如果在 MySQL 配置中沒有顯式地配置 binlog-do-db 參數(shù),那么 MySQL 的二進(jìn)制日志(binlog)將會(huì)記錄所有數(shù)據(jù)庫的變更操作。
binlog-do-db 參數(shù)用于指定需要被記錄到 binlog 中的數(shù)據(jù)庫。通過配置 binlog-do-db,你可以選擇只記錄指定的數(shù)據(jù)庫的變更操作,而忽略其他數(shù)據(jù)庫的變更操作。
如果沒有配置 binlog-do-db 參數(shù),或者將其設(shè)置為一個(gè)空值(例如 binlog-do-db=),那么 MySQL 將會(huì)監(jiān)聽并記錄所有數(shù)據(jù)庫的變更操作到 binlog 中。
需要注意的是,即使沒有配置 binlog-do-db 參數(shù),你仍然可以通過其他方式(如 MySQL 的權(quán)限控制)來限制用戶對(duì)數(shù)據(jù)庫的操作權(quán)限,從而間接地控制 binlog 中的記錄內(nèi)容
4. binlog_format
在 MySQL 配置中,binlog_format 是用于配置二進(jìn)制日志(binlog)的格式。binlog 是 MySQL 中用于記錄數(shù)據(jù)庫的變更操作的日志文件。
binlog_format 可以設(shè)置為以下幾種值:
1. STATEMENT:以 SQL 語句的形式記錄數(shù)據(jù)庫的變更操作。這種格式記錄的是每個(gè)執(zhí)行的 SQL 語句,可以通過 replay SQL 語句的方式來還原數(shù)據(jù)變更。但是,由于某些情況下,同一個(gè) SQL 語句在不同的數(shù)據(jù)庫上執(zhí)行可能會(huì)產(chǎn)生不同的結(jié)果,所以在使用 STATEMENT 格式時(shí)需要注意一致性問題。
2. ROW:以行的形式記錄數(shù)據(jù)庫的變更操作。這種格式記錄的是每一行數(shù)據(jù)的變更情況,包括被修改、插入或刪除的數(shù)據(jù)。ROW 格式記錄了更加詳細(xì)和精確的變更信息,但相對(duì)于 STATEMENT 格式來說,會(huì)占用更多的存儲(chǔ)空間。
3. MIXED:混合模式,根據(jù)具體的情況自動(dòng)選擇 STATEMENT 或 ROW 格式來記錄數(shù)據(jù)庫的變更操作。MIXED 模式會(huì)根據(jù) SQL 語句的類型和特性來決定使用哪種格式,以達(dá)到性能和存儲(chǔ)空間的平衡。
binlog_format 的選擇需要根據(jù)實(shí)際需求和應(yīng)用場(chǎng)景來決定。不同的格式具有不同的優(yōu)缺點(diǎn),需要根據(jù)具體情況來進(jìn)行權(quán)衡和選擇
2.啟動(dòng)數(shù)據(jù)庫
docker run --name mysql01 \ -p 3306:3306 \ -v /opt/mysql/conf.d:/etc/mysql/conf.d \ -v /opt/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:8.0
3.校驗(yàn)是否開啟成功
show variables like 'log_%'; show variables like 'binlog_format'; show variables like 'server_id'; --查看所有日志 show binlog events; --查看最新的日志文件 show master status -- 查詢指定的binlog日志 show binlog events in 'XTZJ-20221008CY-bin.000020' --清空所有的 binlog 日志文件reset master
DML與DDL
MySQL中,DML(Data Manipulation Language)和DDL(Data Definition Language)是兩種不同類型的SQL語句,它們分別用于不同的數(shù)據(jù)庫操作目的:
DML(數(shù)據(jù)操作語言): DML語句主要用于對(duì)數(shù)據(jù)庫表中的實(shí)際數(shù)據(jù)進(jìn)行操作,主要包括以下幾種命令:
INSERT
:向表中插入新的行數(shù)據(jù)。
UPDATE
:更新表中已存在的行數(shù)據(jù)。
DELETE
:從表中刪除滿足特定條件的行數(shù)據(jù)。
SELECT
:從表中檢索數(shù)據(jù),雖然SELECT
不改變數(shù)據(jù)本身,但因其屬于對(duì)數(shù)據(jù)的操作,所以也被歸類于DML。
DML操作通常發(fā)生在事務(wù)中,可以被用戶手動(dòng)控制事務(wù)的開啟、提交和回滾,確保數(shù)據(jù)的一致性和完整性。
DDL(數(shù)據(jù)定義語言): DDL語句主要用于創(chuàng)建、修改或刪除數(shù)據(jù)庫的結(jié)構(gòu)元素,例如:
CREATE
:創(chuàng)建新的數(shù)據(jù)庫、表、索引、視圖等。
ALTER
:更改現(xiàn)有數(shù)據(jù)庫對(duì)象的結(jié)構(gòu),例如增加或刪除列,修改列的數(shù)據(jù)類型,重命名表等。
DROP
:刪除數(shù)據(jù)庫對(duì)象,如表、索引、視圖等。
TRUNCATE
:清空表的內(nèi)容,但保留表的結(jié)構(gòu)。
到此這篇關(guān)于如何在服務(wù)器部署MySQL的文章就介紹到這了,更多相關(guān)服務(wù)器部署MySQL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
FROM_UNIXTIME 格式化MYSQL時(shí)間戳函數(shù)
對(duì)MYSQL沒有進(jìn)行過深入的研究,基礎(chǔ)知識(shí)匱乏,一遇到問題只能手冊(cè),看來要把MYSQL的學(xué)習(xí)安排進(jìn)時(shí)間表了。2011-04-04MySQL8.0+版本1045錯(cuò)誤的問題及解決辦法
這篇文章主要介紹了MySQL8.0+版本1045錯(cuò)誤解決辦法,使用命令行登錄MySQL報(bào)錯(cuò)1045 Access denied for user ‘root’@‘localhost’ (using password:YES),折騰半天才解決問題,需要的朋友可以參考下2022-08-08mysql id從1開始自增 快速解決id不連續(xù)的問題
這篇文章主要介紹了mysql id從1開始自增 快速解決id不連續(xù)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07MySQL中導(dǎo)出用戶權(quán)限設(shè)置的腳本分享
這篇文章主要介紹了MySQL中導(dǎo)出用戶權(quán)限設(shè)置的腳本分享,本文通過導(dǎo)出mysql.user表中數(shù)據(jù)實(shí)現(xiàn)導(dǎo)出權(quán)限設(shè)置,需要的朋友可以參考下2014-10-10Winserver2012下mysql 5.7解壓版(zip)配置安裝教程詳解
這篇文章主要介紹了Winserver2012下mysql 5.7解壓版(zip)配置安裝教程詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01