如何在服務器部署MySQL
1.在服務器opt 新建文件夾 mysql/data,新建文件 mysql/conf.d/my.cnf
其中my.cnf 內容如下
[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 :指定當前服務的id,必須指定,否則會報錯
② log-bin :設置binlog文件的存放地址和文件名,叫做mysql-bin,此處指定的目錄前綴是mysql容器的數據存放目錄,所以可以在掛載目錄中看到相關的文件,命名格式是mysql-bin.000001開始慢慢疊加
③ binlog-do-db :指定針對哪個數據庫記錄binlog的events事件,此處記錄mall庫
如果在 MySQL 配置中沒有顯式地配置 binlog-do-db 參數,那么 MySQL 的二進制日志(binlog)將會記錄所有數據庫的變更操作。
binlog-do-db 參數用于指定需要被記錄到 binlog 中的數據庫。通過配置 binlog-do-db,你可以選擇只記錄指定的數據庫的變更操作,而忽略其他數據庫的變更操作。
如果沒有配置 binlog-do-db 參數,或者將其設置為一個空值(例如 binlog-do-db=),那么 MySQL 將會監(jiān)聽并記錄所有數據庫的變更操作到 binlog 中。
需要注意的是,即使沒有配置 binlog-do-db 參數,你仍然可以通過其他方式(如 MySQL 的權限控制)來限制用戶對數據庫的操作權限,從而間接地控制 binlog 中的記錄內容
4. binlog_format
在 MySQL 配置中,binlog_format 是用于配置二進制日志(binlog)的格式。binlog 是 MySQL 中用于記錄數據庫的變更操作的日志文件。
binlog_format 可以設置為以下幾種值:
1. STATEMENT:以 SQL 語句的形式記錄數據庫的變更操作。這種格式記錄的是每個執(zhí)行的 SQL 語句,可以通過 replay SQL 語句的方式來還原數據變更。但是,由于某些情況下,同一個 SQL 語句在不同的數據庫上執(zhí)行可能會產生不同的結果,所以在使用 STATEMENT 格式時需要注意一致性問題。
2. ROW:以行的形式記錄數據庫的變更操作。這種格式記錄的是每一行數據的變更情況,包括被修改、插入或刪除的數據。ROW 格式記錄了更加詳細和精確的變更信息,但相對于 STATEMENT 格式來說,會占用更多的存儲空間。
3. MIXED:混合模式,根據具體的情況自動選擇 STATEMENT 或 ROW 格式來記錄數據庫的變更操作。MIXED 模式會根據 SQL 語句的類型和特性來決定使用哪種格式,以達到性能和存儲空間的平衡。
binlog_format 的選擇需要根據實際需求和應用場景來決定。不同的格式具有不同的優(yōu)缺點,需要根據具體情況來進行權衡和選擇
2.啟動數據庫
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.校驗是否開啟成功
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語句,它們分別用于不同的數據庫操作目的:
DML(數據操作語言): DML語句主要用于對數據庫表中的實際數據進行操作,主要包括以下幾種命令:
INSERT:向表中插入新的行數據。
UPDATE:更新表中已存在的行數據。
DELETE:從表中刪除滿足特定條件的行數據。
SELECT:從表中檢索數據,雖然SELECT不改變數據本身,但因其屬于對數據的操作,所以也被歸類于DML。
DML操作通常發(fā)生在事務中,可以被用戶手動控制事務的開啟、提交和回滾,確保數據的一致性和完整性。
DDL(數據定義語言): DDL語句主要用于創(chuàng)建、修改或刪除數據庫的結構元素,例如:
CREATE:創(chuàng)建新的數據庫、表、索引、視圖等。
ALTER:更改現(xiàn)有數據庫對象的結構,例如增加或刪除列,修改列的數據類型,重命名表等。
DROP:刪除數據庫對象,如表、索引、視圖等。
TRUNCATE:清空表的內容,但保留表的結構。
到此這篇關于如何在服務器部署MySQL的文章就介紹到這了,更多相關服務器部署MySQL內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mysql id從1開始自增 快速解決id不連續(xù)的問題
這篇文章主要介紹了mysql id從1開始自增 快速解決id不連續(xù)的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
Winserver2012下mysql 5.7解壓版(zip)配置安裝教程詳解
這篇文章主要介紹了Winserver2012下mysql 5.7解壓版(zip)配置安裝教程詳解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-01-01

